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/02/02 15:13:40 UTC

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

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 8e7f106a1 -> 1f2eeb225


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
index b8e6dfa..7b512ba 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
@@ -28,8473 +28,8472 @@
 <span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.HConstants.REPLICATION_SCOPE_LOCAL;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.regionserver.HStoreFile.MAJOR_COMPACTION_KEY;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import static org.apache.hadoop.hbase.util.CollectionUtils.computeIfAbsent;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.EOFException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.FileNotFoundException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.io.InterruptedIOException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.lang.reflect.Constructor;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.nio.ByteBuffer;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.nio.charset.StandardCharsets;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.text.ParseException;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.AbstractList;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.ArrayList;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.Arrays;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.Collection;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.Collections;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.HashMap;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.util.HashSet;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.Iterator;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.List;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.Map;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.Map.Entry;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.NavigableMap;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.NavigableSet;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.Optional;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.RandomAccess;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.Set;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.TreeMap;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.UUID;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.Callable;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.CompletionService;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.ConcurrentMap;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.ExecutionException;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import java.util.concurrent.ExecutorService;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import java.util.concurrent.Executors;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import java.util.concurrent.Future;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import java.util.concurrent.FutureTask;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import java.util.concurrent.ThreadFactory;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.TimeUnit;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import java.util.concurrent.TimeoutException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import java.util.concurrent.atomic.LongAdder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import java.util.concurrent.locks.Lock;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import java.util.function.Function;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.conf.Configuration;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.fs.FileStatus;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.fs.FileSystem;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.fs.Path;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.Cell;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.CellBuilderType;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.CellComparatorImpl;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.ExtendedCellBuilderFactory;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.HConstants;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.TableName;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.Tag;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Append;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.CompactionState;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Get;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.client.PackagePrivateFieldAccessor;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.client.Put;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.client.Result;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.exceptions.TimeoutIOException;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.io.HFileLink;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.ipc.RpcCall;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionLifeCycleTracker;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.security.User;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hbase.thirdparty.com.google.common.collect.Maps;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hbase.thirdparty.com.google.common.io.Closeables;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hbase.thirdparty.com.google.protobuf.Service;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hbase.thirdparty.com.google.protobuf.TextFormat;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.trace.TraceUtil;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.CollectionUtils;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.NonceKey;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.wal.WALEdit;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.wal.WALKeyImpl;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.apache.hadoop.util.StringUtils;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.apache.htrace.core.TraceScope;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.slf4j.Logger;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.slf4j.LoggerFactory;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>import edu.umd.cs.findbugs.annotations.Nullable;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>/**<a name="line.205"></a>
-<span class="sourceLineNo">206</span> * Regions store data for a certain region of a table.  It stores all columns<a name="line.206"></a>
-<span class="sourceLineNo">207</span> * for each row. A given table consists of one or more Regions.<a name="line.207"></a>
-<span class="sourceLineNo">208</span> *<a name="line.208"></a>
-<span class="sourceLineNo">209</span> * &lt;p&gt;An Region is defined by its table and its key extent.<a name="line.209"></a>
-<span class="sourceLineNo">210</span> *<a name="line.210"></a>
-<span class="sourceLineNo">211</span> * &lt;p&gt;Locking at the Region level serves only one purpose: preventing the<a name="line.211"></a>
-<span class="sourceLineNo">212</span> * region from being closed (and consequently split) while other operations<a name="line.212"></a>
-<span class="sourceLineNo">213</span> * are ongoing. Each row level operation obtains both a row lock and a region<a name="line.213"></a>
-<span class="sourceLineNo">214</span> * read lock for the duration of the operation. While a scanner is being<a name="line.214"></a>
-<span class="sourceLineNo">215</span> * constructed, getScanner holds a read lock. If the scanner is successfully<a name="line.215"></a>
-<span class="sourceLineNo">216</span> * constructed, it holds a read lock until it is closed. A close takes out a<a name="line.216"></a>
-<span class="sourceLineNo">217</span> * write lock and consequently will block for ongoing operations and will block<a name="line.217"></a>
-<span class="sourceLineNo">218</span> * new operations from starting while the close is in progress.<a name="line.218"></a>
-<span class="sourceLineNo">219</span> */<a name="line.219"></a>
-<span class="sourceLineNo">220</span>@SuppressWarnings("deprecation")<a name="line.220"></a>
-<span class="sourceLineNo">221</span>@InterfaceAudience.Private<a name="line.221"></a>
-<span class="sourceLineNo">222</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  private static final Logger LOG = LoggerFactory.getLogger(HRegion.class);<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  public static final String HBASE_MAX_CELL_SIZE_KEY = "hbase.server.keyvalue.maxsize";<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  public static final int DEFAULT_MAX_CELL_SIZE = 10485760;<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>  public static final String HBASE_REGIONSERVER_MINIBATCH_SIZE =<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      "hbase.regionserver.minibatch.size";<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public static final int DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE = 20000;<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>   * This is the global default value for durability. All tables/mutations not<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.241"></a>
-<span class="sourceLineNo">242</span><a name="line.242"></a>
-<span class="sourceLineNo">243</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * Once set, it is never cleared.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  final AtomicBoolean closing = new AtomicBoolean(false);<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>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * less that this sequence id.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<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>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * replication.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<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>  // Members<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  // map from a locked row to the context for that lock including:<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  // - CountDownLatch for threads waiting on that row<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  // - reference count of (reentrant) locks held by the thread<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  // - the row itself<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  protected final Map&lt;byte[], HStore&gt; stores =<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      new ConcurrentSkipListMap&lt;&gt;(Bytes.BYTES_RAWCOMPARATOR);<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private Map&lt;String, com.google.protobuf.Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  private final AtomicLong memstoreDataSize = new AtomicLong(0);// Track data size in all memstores<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private final RegionServicesForStores regionServicesForStores = new RegionServicesForStores(this);<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Debug possible data loss due to WAL off<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  final LongAdder numMutationsWithoutWAL = new LongAdder();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final LongAdder dataInMemoryWithoutWAL = new LongAdder();<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>  // Debug why CAS operations are taking a while.<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  final LongAdder checkAndMutateChecksPassed = new LongAdder();<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  final LongAdder checkAndMutateChecksFailed = new LongAdder();<a name="line.298"></a>
-<span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>  // Number of requests<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  // Count rows for scan<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  final LongAdder readRequestsCount = new LongAdder();<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  final LongAdder filteredReadRequestsCount = new LongAdder();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  // Count rows for multi row mutations<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  final LongAdder writeRequestsCount = new LongAdder();<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // Number of requests blocked by memstore size.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  private final LongAdder blockedRequestsCount = new LongAdder();<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // Compaction LongAdders<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  final LongAdder compactionsFinished = new LongAdder();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  final LongAdder compactionsFailed = new LongAdder();<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  final LongAdder compactionNumFilesCompacted = new LongAdder();<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  final LongAdder compactionNumBytesCompacted = new LongAdder();<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  final LongAdder compactionsQueued = new LongAdder();<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  final LongAdder flushesQueued = new LongAdder();<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>  private final WAL wal;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  private final HRegionFileSystem fs;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  protected final Configuration conf;<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  private final Configuration baseConf;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  private final int rowLockWaitDuration;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>  // The internal wait duration to acquire a lock before read/update<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  // we can release the IPC handler soon enough to improve the<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  // availability of the region server. It can be adjusted by<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  final long busyWaitDuration;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  // If updating multiple rows in one call, wait longer,<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  // we can limit the max multiplier.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  final int maxBusyWaitMultiplier;<a name="line.337"></a>
-<span class="sourceLineNo">338</span><a name="line.338"></a>
-<span class="sourceLineNo">339</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.339"></a>
-<span class="sourceLineNo">340</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  final long maxBusyWaitDuration;<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  // Max cell size. If nonzero, the maximum allowed size for any given cell<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  // in bytes<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  final long maxCellSize;<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // Number of mutations for minibatch processing.<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  private final int miniBatchSize;<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  // negative number indicates infinite timeout<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<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>   * The sequence ID that was enLongAddered when this region was opened.<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   */<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  private long openSeqNum = HConstants.NO_SEQNUM;<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>   * The default setting for whether to enable on-demand CF loading for<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * scan requests to this region. Requests can override it.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   */<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.365"></a>
-<span class="sourceLineNo">366</span><a name="line.366"></a>
-<span class="sourceLineNo">367</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<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>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  // are equal to or lower than maxSeqId for each store.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  // The following map is populated when opening the region<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>  /** Saved state from replaying prepare flush cache */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  // Used for testing.<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  private volatile Long timeoutForWriteLock = null;<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /**<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * region. Writes older than this readPoint, are included in every<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * read operation.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  public long getSmallestReadPoint() {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    long minimumReadPoint;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    synchronized (scannerReadPoints) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      for (Long readPoint : this.scannerReadPoints.values()) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>          minimumReadPoint = readPoint;<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>    return minimumReadPoint;<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>   * Data structure of write state flags used coordinating flushes,<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * compactions and closes.<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  static class WriteState {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    // Set while a memstore flush is happening.<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    volatile boolean flushing = false;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    // Set when a flush has been requested.<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    volatile boolean flushRequested = false;<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    // Number of compactions running.<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    volatile boolean writesEnabled = true;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    // Set if region is read-only<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    volatile boolean readOnly = false;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    volatile boolean readsEnabled = true;<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>     * Set flags that make this region read-only.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>     *<a name="line.428"></a>
-<span class="sourceLineNo">429</span>     * @param onOff flip value for region r/o setting<a name="line.429"></a>
-<span class="sourceLineNo">430</span>     */<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      this.writesEnabled = !onOff;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      this.readOnly = onOff;<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>    boolean isReadOnly() {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      return this.flushRequested;<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>    void setReadsEnabled(boolean readsEnabled) {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      this.readsEnabled = readsEnabled;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    }<a name="line.446"></a>
-<span class="sourceLineNo">447</span><a name="line.447"></a>
-<span class="sourceLineNo">448</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<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>  /**<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   * if it didn't flush.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   */<a name="line.457"></a>
-<span class="sourceLineNo">458</span>  public static class FlushResultImpl implements FlushResult {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    final Result result;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    final String failureReason;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    final long flushSequenceId;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    final boolean wroteFlushWalMarker;<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>    /**<a name="line.464"></a>
-<span class="sourceLineNo">465</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.465"></a>
-<span class="sourceLineNo">466</span>     * null.<a name="line.466"></a>
-<span class="sourceLineNo">467</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     *                        memstores.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      this(result, flushSequenceId, null, false);<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.473"></a>
-<span class="sourceLineNo">474</span>          .FLUSHED_COMPACTION_NEEDED;<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>     * Convenience constructor to use when we cannot flush.<a name="line.478"></a>
-<span class="sourceLineNo">479</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.479"></a>
-<span class="sourceLineNo">480</span>     * @param failureReason Reason why we couldn't flush.<a name="line.480"></a>
-<span class="sourceLineNo">481</span>     */<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    }<a name="line.485"></a>
-<span class="sourceLineNo">486</span><a name="line.486"></a>
-<span class="sourceLineNo">487</span>    /**<a name="line.487"></a>
-<span class="sourceLineNo">488</span>     * Constructor with all the parameters.<a name="line.488"></a>
-<span class="sourceLineNo">489</span>     * @param result Any of the Result.<a name="line.489"></a>
-<span class="sourceLineNo">490</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.490"></a>
-<span class="sourceLineNo">491</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.491"></a>
-<span class="sourceLineNo">492</span>     */<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      boolean wroteFlushMarker) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      this.result = result;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      this.flushSequenceId = flushSequenceId;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      this.failureReason = failureReason;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    }<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span>    /**<a name="line.501"></a>
-<span class="sourceLineNo">502</span>     * Convenience method, the equivalent of checking if result is<a name="line.502"></a>
-<span class="sourceLineNo">503</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>     * @return true if the memstores were flushed, else false.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>     */<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    @Override<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    public boolean isFlushSucceeded() {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          .FLUSHED_COMPACTION_NEEDED;<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>    /**<a name="line.512"></a>
-<span class="sourceLineNo">513</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.513"></a>
-<span class="sourceLineNo">514</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.514"></a>
-<span class="sourceLineNo">515</span>     */<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    @Override<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    public boolean isCompactionNeeded() {<a name="line.517"></a>
-<span class="sourceLineNo">518</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>    @Override<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    public String toString() {<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      return new StringBuilder()<a name="line.523"></a>
-<span class="sourceLineNo">524</span>        .append("flush result:").append(result).append(", ")<a name="line.524"></a>
-<span class="sourceLineNo">525</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.525"></a>
-<span class="sourceLineNo">526</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    public Result getResult() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      return result;<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    }<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>  /** A result object from prepare flush cache stage */<a name="line.535"></a>
-<span class="sourceLineNo">536</span>  @VisibleForTesting<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  static class PrepareFlushResult {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    final FlushResultImpl result; // indicating a failure result from prepare<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    final TreeMap&lt;byte[], MemStoreSize&gt; storeFlushableSize;<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    final long startTime;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    final long flushOpSeqId;<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    final long flushedSeqId;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    final MemStoreSizing totalFlushableSize;<a name="line.545"></a>
-<span class="sourceLineNo">546</span><a name="line.546"></a>
-<span class="sourceLineNo">547</span>    /** Constructs an early exit case */<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    PrepareFlushResult(FlushResultImpl result, long flushSeqId) {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, MemStoreSizing.DUD);<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>    /** Constructs a successful prepare flush result */<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    PrepareFlushResult(<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.554"></a>
-<span class="sourceLineNo">555</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      TreeMap&lt;byte[], MemStoreSize&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      long flushedSeqId, MemStoreSizing totalFlushableSize) {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.558"></a>
-<span class="sourceLineNo">559</span>        flushSeqId, flushedSeqId, totalFlushableSize);<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>    private PrepareFlushResult(<a name="line.562"></a>
-<span class="sourceLineNo">563</span>        FlushResultImpl result,<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      TreeMap&lt;byte[], MemStoreSize&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      long flushedSeqId, MemStoreSizing totalFlushableSize) {<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      this.result = result;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      this.committedFiles = committedFiles;<a name="line.570"></a>
-<span class="sourceLineNo">571</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>      this.startTime = startTime;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      this.flushOpSeqId = flushSeqId;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      this.flushedSeqId = flushedSeqId;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      this.totalFlushableSize = totalFlushableSize;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    }<a name="line.576"></a>
-<span class="sourceLineNo">577</span><a name="line.577"></a>
-<span class="sourceLineNo">578</span>    public FlushResult getResult() {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      return this.result;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  }<a name="line.581"></a>
-<span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * A class that tracks exceptions that have been observed in one batch. Not thread safe.<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   */<a name="line.585"></a>
-<span class="sourceLineNo">586</span>  static class ObservedExceptionsInBatch {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    private boolean wrongRegion = false;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    private boolean failedSanityCheck = false;<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    private boolean wrongFamily = false;<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>     * @return If a {@link WrongRegionException} has been observed.<a name="line.592"></a>
-<span class="sourceLineNo">593</span>     */<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    boolean hasSeenWrongRegion() {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      return wrongRegion;<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>    /**<a name="line.598"></a>
-<span class="sourceLineNo">599</span>     * Records that a {@link WrongRegionException} has been observed.<a name="line.599"></a>
-<span class="sourceLineNo">600</span>     */<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    void sawWrongRegion() {<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      wrongRegion = true;<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    }<a name="line.603"></a>
-<span class="sourceLineNo">604</span><a name="line.604"></a>
-<span class="sourceLineNo">605</span>    /**<a name="line.605"></a>
-<span class="sourceLineNo">606</span>     * @return If a {@link FailedSanityCheckException} has been observed.<a name="line.606"></a>
-<span class="sourceLineNo">607</span>     */<a name="line.607"></a>
-<span class="sourceLineNo">608</span>    boolean hasSeenFailedSanityCheck() {<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      return failedSanityCheck;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    }<a name="line.610"></a>
-<span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>    /**<a name="line.612"></a>
-<span class="sourceLineNo">613</span>     * Records that a {@link FailedSanityCheckException} has been observed.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>     */<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    void sawFailedSanityCheck() {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      failedSanityCheck = true;<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    }<a name="line.617"></a>
-<span class="sourceLineNo">618</span><a name="line.618"></a>
-<span class="sourceLineNo">619</span>    /**<a name="line.619"></a>
-<span class="sourceLineNo">620</span>     * @return If a {@link NoSuchColumnFamilyException} has been observed.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>     */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    boolean hasSeenNoSuchFamily() {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>      return wrongFamily;<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>    /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>     * Records that a {@link NoSuchColumnFamilyException} has been observed.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>     */<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    void sawNoSuchFamily() {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      wrongFamily = true;<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>  final WriteState writestate = new WriteState();<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span>  long memstoreFlushSize;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>  final long timestampSlop;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>  final long rowProcessorTimeout;<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.640"></a>
-<span class="sourceLineNo">641</span>  private final ConcurrentMap&lt;HStore, Long&gt; lastStoreFlushTimeMap = new ConcurrentHashMap&lt;&gt;();<a name="line.641"></a>
-<span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>  final RegionServerServices rsServices;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>  private RegionServerAccounting rsAccounting;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>  private long flushCheckInterval;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  private long flushPerChanges;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>  private long blockingMemStoreSize;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>  // Used to guard closes<a name="line.649"></a>
-<span class="sourceLineNo">650</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.650"></a>
-<span class="sourceLineNo">651</span><a name="line.651"></a>
-<span class="sourceLineNo">652</span>  // Stop updates lock<a name="line.652"></a>
-<span class="sourceLineNo">653</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>  private boolean splitRequest;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>  private byte[] explicitSplitPoint = null;<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>  // Coprocessor host<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.660"></a>
-<span class="sourceLineNo">661</span><a name="line.661"></a>
-<span class="sourceLineNo">662</span>  private TableDescriptor htableDescriptor = null;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>  private RegionSplitPolicy splitPolicy;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>  private FlushPolicy flushPolicy;<a name="line.664"></a>
-<span class="sourceLineNo">665</span><a name="line.665"></a>
-<span class="sourceLineNo">666</span>  private final MetricsRegion metricsRegion;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>  private final Durability regionDurability;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>  private final boolean regionStatsEnabled;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>  // Stores the replication scope of the various column families of the table<a name="line.670"></a>
-<span class="sourceLineNo">671</span>  // that has non-default scope<a name="line.671"></a>
-<span class="sourceLineNo">672</span>  private final NavigableMap&lt;byte[], Integer&gt; replicationScope = new TreeMap&lt;&gt;(<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      Bytes.BYTES_COMPARATOR);<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>   * HRegion constructor. This constructor should only be used for testing and<a name="line.676"></a>
-<span class="sourceLineNo">677</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.677"></a>
-<span class="sourceLineNo">678</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.678"></a>
-<span class="sourceLineNo">679</span>   *<a name="line.679"></a>
-<span class="sourceLineNo">680</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.680"></a>
-<span class="sourceLineNo">681</span>   * usually the table directory.<a name="line.681"></a>
-<span class="sourceLineNo">682</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.682"></a>
-<span class="sourceLineNo">683</span>   * The wal file is a logfile from the previous execution that's<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   * the supplied path.<a name="line.687"></a>
-<span class="sourceLineNo">688</span>   * @param fs is the filesystem.<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   * @param confParam is global configuration settings.<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   * @param regionInfo - RegionInfo that describes the region<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * is new), then read them from the supplied path.<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * @param htd the table descriptor<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @deprecated Use other constructors.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   */<a name="line.695"></a>
-<span class="sourceLineNo">696</span>  @Deprecated<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  @VisibleForTesting<a name="line.697"></a>
-<span class="sourceLineNo">698</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      final Configuration confParam, final RegionInfo regionInfo,<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      final TableDescriptor htd, final RegionServerServices rsServices) {<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      wal, confParam, htd, rsServices);<a name="line.702"></a>
-<span class="sourceLineNo">703</span>  }<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>  /**<a name="line.705"></a>
-<span class="sourceLineNo">706</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.706"></a>
-<span class="sourceLineNo">707</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.707"></a>
-<span class="sourceLineNo">708</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.708"></a>
-<span class="sourceLineNo">709</span>   *<a name="line.709"></a>
-<span class="sourceLineNo">710</span>   * @param fs is the filesystem.<a name="line.710"></a>
-<span class="sourceLineNo">711</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.711"></a>
-<span class="sourceLineNo">712</span>   * The wal file is a logfile from the previous execution that's<a name="line.712"></a>
-<span class="sourceLineNo">713</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.713"></a>
-<span class="sourceLineNo">714</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.714"></a>
-<span class="sourceLineNo">715</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   * the supplied path.<a name="line.716"></a>
-<span class="sourceLineNo">717</span>   * @param confParam is global configuration settings.<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * @param htd the table descriptor<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.719"></a>
-<span class="sourceLineNo">720</span>   */<a name="line.720"></a>
-<span class="sourceLineNo">721</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      final TableDescriptor htd, final RegionServerServices rsServices) {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    if (htd == null) {<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      throw new IllegalArgumentException("Need table descriptor");<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>    if (confParam instanceof CompoundConfiguration) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      throw new IllegalArgumentException("Need original base configuration");<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>    this.wal = wal;<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    this.fs = fs;<a name="line.732"></a>
-<span class="sourceLineNo">733</span><a name="line.733"></a>
-<span class="sourceLineNo">734</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    this.baseConf = confParam;<a name="line.735"></a>
-<span class="sourceLineNo">736</span>    this.conf = new CompoundConfiguration()<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      .add(confParam)<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      .addBytesMap(htd.getValues());<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.739"></a>
-<span class="sourceLineNo">740</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.743"></a>
-<span class="sourceLineNo">744</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>    }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.746"></a>
-<span class="sourceLineNo">747</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.747"></a>
-<span class="sourceLineNo">748</span><a name="line.748"></a>
-<span class="sourceLineNo">749</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    this.htableDescriptor = htd;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    Set&lt;byte[]&gt; families = this.htableDescriptor.getColumnFamilyNames();<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    for (byte[] family : families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      if (!replicationScope.containsKey(family)) {<a name="line.753"></a>
-<span class="sourceLineNo">754</span>        int scope = htd.getColumnFamily(family).getScope();<a name="line.754"></a>
-<span class="sourceLineNo">755</span>        // Only store those families that has NON-DEFAULT scope<a name="line.755"></a>
-<span class="sourceLineNo">756</span>        if (scope != REPLICATION_SCOPE_LOCAL) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>          // Do a copy before storing it here.<a name="line.757"></a>
-<span class="sourceLineNo">758</span>          replicationScope.put(Bytes.copy(family), scope);<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>    }<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    this.rsServices = rsServices;<a name="line.762"></a>
-<span class="sourceLineNo">763</span>    setHTableSpecificConf();<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;&gt;();<a name="line.764"></a>
-<span class="sourceLineNo">765</span><a name="line.765"></a>
-<span class="sourceLineNo">766</span>    this.busyWaitDuration = conf.getLong(<a name="line.766"></a>
-<span class="sourceLineNo">767</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.767"></a>
-<span class="sourceLineNo">768</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.768"></a>
-<span class="sourceLineNo">769</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.769"></a>
-<span class="sourceLineNo">770</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.770"></a>
-<span class="sourceLineNo">771</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.771"></a>
-<span class="sourceLineNo">772</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.772"></a>
-<span class="sourceLineNo">773</span>    }<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.774"></a>
-<span class="sourceLineNo">775</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.775"></a>
-<span class="sourceLineNo">776</span><a name="line.776"></a>
-<span class="sourceLineNo">777</span>    /*<a name="line.777"></a>
-<span class="sourceLineNo">778</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.778"></a>
-<span class="sourceLineNo">779</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.779"></a>
-<span class="sourceLineNo">780</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.780"></a>
-<span class="sourceLineNo">781</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.781"></a>
-<span class="sourceLineNo">782</span>     */<a name="line.782"></a>
-<span class="sourceLineNo">783</span>    this.timestampSlop = conf.getLong(<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.784"></a>
-<span class="sourceLineNo">785</span>        HConstants.LATEST_TIMESTAMP);<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>     * Timeout for the process time in processRowsWithLocks().<a name="line.788"></a>
-<span class="sourceLineNo">789</span>     * Use -1 to switch off time bound.<a name="line.789"></a>
-<span class="sourceLineNo">790</span>     */<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.791"></a>
-<span class="sourceLineNo">792</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.792"></a>
-<span class="sourceLineNo">793</span>    this.regionDurability = htd.getDurability() == Durability.USE_DEFAULT ?<a name="line.793"></a>
-<span class="sourceLineNo">794</span>        DEFAULT_DURABILITY : htd.getDurability();<a name="line.794"></a>
-<span class="sourceLineNo">795</span>    if (rsServices != null) {<a name="line.795"></a>
-<span class="sourceLineNo">796</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.798"></a>
-<span class="sourceLineNo">799</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    } else {<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      this.metricsRegionWrapper = null;<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      this.metricsRegion = null;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>    }<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    if (LOG.isDebugEnabled()) {<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      // Write out region name as string and its encoded name.<a name="line.807"></a>
-<span class="sourceLineNo">808</span>      LOG.debug("Instantiated " + this);<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>    configurationManager = Optional.empty();<a name="line.811"></a>
-<span class="sourceLineNo">812</span><a name="line.812"></a>
-<span class="sourceLineNo">813</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.814"></a>
-<span class="sourceLineNo">815</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.815"></a>
-<span class="sourceLineNo">816</span>          false :<a name="line.816"></a>
-<span class="sourceLineNo">817</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.817"></a>
-<span class="sourceLineNo">818</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    this.maxCellSize = conf.getLong(HBASE_MAX_CELL_SIZE_KEY, DEFAULT_MAX_CELL_SIZE);<a name="line.820"></a>
-<span class="sourceLineNo">821</span>    this.miniBatchSize = conf.getInt(HBASE_REGIONSERVER_MINIBATCH_SIZE,<a name="line.821"></a>
-<span class="sourceLineNo">822</span>        DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE);<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>  void setHTableSpecificConf() {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    if (this.htableDescriptor == null) return;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    if (flushSize &lt;= 0) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.830"></a>
-<span class="sourceLineNo">831</span>        TableDescriptorBuilder.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.831"></a>
-<span class="sourceLineNo">832</span>    }<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    this.memstoreFlushSize = flushSize;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.834"></a>
-<span class="sourceLineNo">835</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.835"></a>
-<span class="sourceLineNo">836</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<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>   * Initialize this region.<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   * You should use createHRegion() or openHRegion()<a name="line.842"></a>
-<span class="sourceLineNo">843</span>   * @return What the next sequence (edit) id should be.<a name="line.843"></a>
-<span class="sourceLineNo">844</span>   * @throws IOException e<a name="line.844"></a>
-<span class="sourceLineNo">845</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.845"></a>
-<span class="sourceLineNo">846</span>   */<a name="line.846"></a>
-<span class="sourceLineNo">847</span>  @Deprecated<a name="line.847"></a>
-<span class="sourceLineNo">848</span>  public long initialize() throws IOException {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>    return initialize(null);<a name="line.849"></a>
-<span class="sourceLineNo">850</span>  }<a name="line.850"></a>
-<span class="sourceLineNo">851</span><a name="line.851"></a>
-<span class="sourceLineNo">852</span>  /**<a name="line.852"></a>
-<span class="sourceLineNo">853</span>   * Initialize this region.<a name="line.853"></a>
-<span class="sourceLineNo">854</span>   *<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.855"></a>
-<span class="sourceLineNo">856</span>   * @return What the next sequence (edit) id should be.<a name="line.856"></a>
-<span class="sourceLineNo">857</span>   * @throws IOException e<a name="line.857"></a>
-<span class="sourceLineNo">858</span>   */<a name="line.858"></a>
-<span class="sourceLineNo">859</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.859"></a>
-<span class="sourceLineNo">860</span><a name="line.860"></a>
-<span class="sourceLineNo">861</span>    //Refuse to open the region if there is no column family in the table<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (htableDescriptor.getColumnFamilyCount() == 0) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      throw new DoNotRetryIOException("Table " + htableDescriptor.getTableName().getNameAsString()+<a name="line.863"></a>
-<span class="sourceLineNo">864</span>          " should have at least one column family.");<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    }<a name="line.865"></a>
-<span class="sourceLineNo">866</span><a name="line.866"></a>
-<span class="sourceLineNo">867</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.867"></a>
-<span class="sourceLineNo">868</span>    long nextSeqId = -1;<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    try {<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      return nextSeqId;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    } finally {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.873"></a>
-<span class="sourceLineNo">874</span>      // At least it will be 0 otherwise.<a name="line.874"></a>
-<span class="sourceLineNo">875</span>      if (nextSeqId == -1) {<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.876"></a>
-<span class="sourceLineNo">877</span>          

<TRUNCATED>

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

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


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

Branch: refs/heads/asf-site
Commit: 1f2eeb225348eef27b11f2660b0e6b020ea43b63
Parents: 8e7f106
Author: jenkins <bu...@apache.org>
Authored: Fri Feb 2 15:13:17 2018 +0000
Committer: jenkins <bu...@apache.org>
Committed: Fri Feb 2 15:13:17 2018 +0000

----------------------------------------------------------------------
 acid-semantics.html                             |     4 +-
 apache_hbase_reference_guide.pdf                |     6 +-
 apidocs/deprecated-list.html                    |    12 +
 apidocs/index-all.html                          |    22 +-
 .../hadoop/hbase/client/RowMutations.html       |   133 +-
 .../hadoop/hbase/client/class-use/Delete.html   |     5 +-
 .../hadoop/hbase/client/class-use/Mutation.html |    22 +-
 .../hadoop/hbase/client/class-use/Put.html      |     5 +-
 .../hbase/client/class-use/RowMutations.html    |    27 +
 .../hadoop/hbase/client/RowMutations.html       |   242 +-
 .../hadoop/hbase/mapreduce/WALPlayer.html       |     8 +-
 book.html                                       |     2 +-
 bulk-loads.html                                 |     4 +-
 checkstyle-aggregate.html                       | 20518 ++++++++---------
 checkstyle.rss                                  |   120 +-
 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                |     2 +-
 devapidocs/allclasses-noframe.html              |     2 +-
 devapidocs/constant-values.html                 |     6 +-
 devapidocs/deprecated-list.html                 |    12 +
 devapidocs/index-all.html                       |   151 +-
 .../hadoop/hbase/backup/package-tree.html       |     2 +-
 .../hadoop/hbase/class-use/CompareOperator.html |    15 +-
 .../hbase/class-use/KeepDeletedCells.html       |    37 +
 .../apache/hadoop/hbase/class-use/Server.html   |    16 +-
 .../hadoop/hbase/class-use/TableName.html       |     4 +-
 .../hadoop/hbase/client/RowMutations.html       |   135 +-
 .../hadoop/hbase/client/class-use/Delete.html   |     5 +-
 .../hadoop/hbase/client/class-use/Mutation.html |    33 +-
 .../hadoop/hbase/client/class-use/Put.html      |     5 +-
 .../hbase/client/class-use/RowMutations.html    |    42 +-
 .../hadoop/hbase/client/package-tree.html       |    24 +-
 .../filter/class-use/ByteArrayComparable.html   |    15 +-
 .../hadoop/hbase/filter/package-tree.html       |    10 +-
 .../bucket/BucketCache.BucketEntryGroup.html    |    68 +-
 .../hfile/bucket/BucketCache.RAMQueueEntry.html |    20 +-
 .../bucket/BucketCache.StatisticsThread.html    |     8 +-
 .../hbase/io/hfile/bucket/BucketCache.html      |   170 +-
 .../class-use/BucketCache.BucketEntryGroup.html |    45 +-
 .../hbase/io/hfile/bucket/package-tree.html     |     2 +-
 .../hbase/io/hfile/bucket/package-use.html      |    23 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     6 +-
 .../apache/hadoop/hbase/ipc/package-tree.html   |     2 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |     4 +-
 .../master/HMaster.InitializationMonitor.html   |    20 +-
 .../hbase/master/HMaster.RedirectServlet.html   |    12 +-
 .../org/apache/hadoop/hbase/master/HMaster.html |   760 +-
 .../master/HMasterCommandLine.LocalHMaster.html |     2 +-
 .../assignment/MergeTableRegionsProcedure.html  |    80 +-
 ...tTableRegionProcedure.StoreFileSplitter.html |    12 +-
 .../assignment/SplitTableRegionProcedure.html   |    70 +-
 .../hbase/master/balancer/package-tree.html     |     2 +-
 .../hadoop/hbase/master/package-tree.html       |     4 +-
 .../procedure/class-use/MasterProcedureEnv.html |    12 +-
 .../hbase/master/procedure/package-tree.html    |     2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    18 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     6 +-
 .../hadoop/hbase/quotas/package-tree.html       |     6 +-
 .../regionserver/CustomizedScanInfoBuilder.html |    87 +-
 .../HRegion.BatchOperation.Visitor.html         |     4 +-
 .../regionserver/HRegion.BatchOperation.html    |    78 +-
 .../regionserver/HRegion.BulkLoadListener.html  |     8 +-
 .../HRegion.FlushResult.Result.html             |    10 +-
 .../hbase/regionserver/HRegion.FlushResult.html |     8 +-
 .../regionserver/HRegion.FlushResultImpl.html   |    24 +-
 .../HRegion.MutationBatchOperation.html         |    44 +-
 .../HRegion.ObservedExceptionsInBatch.html      |    22 +-
 .../HRegion.PrepareFlushResult.html             |    26 +-
 .../regionserver/HRegion.RegionScannerImpl.html |    90 +-
 .../HRegion.ReplayBatchOperation.html           |    32 +-
 .../regionserver/HRegion.RowLockContext.html    |    28 +-
 .../hbase/regionserver/HRegion.RowLockImpl.html |    16 +-
 .../hbase/regionserver/HRegion.WriteState.html  |    26 +-
 .../hadoop/hbase/regionserver/HRegion.html      |   732 +-
 .../HRegionServer.MovedRegionInfo.html          |    16 +-
 .../HRegionServer.MovedRegionsCleaner.html      |    16 +-
 .../hbase/regionserver/HRegionServer.html       |   574 +-
 .../hbase/regionserver/Region.Operation.html    |     4 +-
 .../hadoop/hbase/regionserver/Region.html       |    49 +-
 .../hbase/regionserver/ReplicationService.html  |    21 +-
 .../regionserver/ReplicationSinkService.html    |     2 +-
 .../regionserver/ReplicationSourceService.html  |    25 +-
 .../hadoop/hbase/regionserver/ScanInfo.html     |    14 +-
 .../hadoop/hbase/regionserver/ScanOptions.html  |    50 +-
 .../regionserver/class-use/HRegionServer.html   |    13 +-
 .../class-use/ReplicationService.html           |    10 +-
 .../hbase/regionserver/class-use/ScanInfo.html  |     7 +-
 .../hadoop/hbase/regionserver/package-tree.html |    14 +-
 .../regionserver/querymatcher/package-tree.html |     2 +-
 .../regionserver/wal/WALActionsListener.html    |     2 +-
 .../wal/class-use/WALActionsListener.html       |   136 +-
 .../hbase/regionserver/wal/package-use.html     |    26 -
 .../hbase/replication/ReplicationUtils.html     |    41 +-
 .../Replication.ReplicationStatisticsTask.html  |   350 +
 ...Replication.ReplicationStatisticsThread.html |   384 -
 .../replication/regionserver/Replication.html   |   355 +-
 .../regionserver/ReplicationLoad.html           |     4 +-
 ...icationSourceManager.NodeFailoverWorker.html |     8 +-
 ...SourceManager.ReplicationQueueOperation.html |     4 +-
 .../regionserver/ReplicationSourceManager.html  |   210 +-
 .../ReplicationSyncUp.DummyServer.html          |    40 +-
 .../regionserver/WALFileLengthProvider.html     |     2 +-
 .../Replication.ReplicationStatisticsTask.html  |   125 +
 ...Replication.ReplicationStatisticsThread.html |   125 -
 .../regionserver/class-use/ReplicationSink.html |     6 +-
 .../class-use/ReplicationSourceManager.html     |    15 +-
 .../class-use/WALFileLengthProvider.html        |    57 +-
 .../replication/regionserver/package-frame.html |     2 +-
 .../regionserver/package-summary.html           |     6 +-
 .../replication/regionserver/package-tree.html  |     4 +-
 .../replication/regionserver/package-use.html   |     5 -
 .../hadoop/hbase/rest/model/package-tree.html   |     2 +-
 .../hbase/security/access/package-tree.html     |     2 +-
 .../hadoop/hbase/security/package-tree.html     |     2 +-
 .../hadoop/hbase/thrift/package-tree.html       |     2 +-
 .../util/CommonFSUtils.StreamCapabilities.html  |    10 +-
 ...nFSUtils.StreamLacksCapabilityException.html |     6 +-
 .../apache/hadoop/hbase/util/CommonFSUtils.html |    44 +-
 ...BaseFsck.CheckRegionConsistencyWorkItem.html |    10 +-
 .../HBaseFsck.ErrorReporter.ERROR_CODE.html     |    76 +-
 .../hbase/util/HBaseFsck.ErrorReporter.html     |    30 +-
 .../hbase/util/HBaseFsck.FileLockCallable.html  |    10 +-
 .../hbase/util/HBaseFsck.HBaseFsckTool.html     |     6 +-
 .../hadoop/hbase/util/HBaseFsck.HbckInfo.html   |    56 +-
 .../hadoop/hbase/util/HBaseFsck.HdfsEntry.html  |    14 +-
 .../hadoop/hbase/util/HBaseFsck.MetaEntry.html  |    18 +-
 .../hbase/util/HBaseFsck.OnlineEntry.html       |    10 +-
 .../util/HBaseFsck.PrintingErrorReporter.html   |    42 +-
 .../HBaseFsck.RegionBoundariesInformation.html  |    16 +-
 .../util/HBaseFsck.RegionRepairException.html   |     8 +-
 .../HBaseFsck.TableInfo.HDFSIntegrityFixer.html |    22 +-
 ...aseFsck.TableInfo.IntegrityFixSuggester.html |    20 +-
 .../hadoop/hbase/util/HBaseFsck.TableInfo.html  |    38 +-
 .../hbase/util/HBaseFsck.WorkItemHdfsDir.html   |    12 +-
 .../util/HBaseFsck.WorkItemHdfsRegionInfo.html  |    12 +-
 .../util/HBaseFsck.WorkItemOverlapMerge.html    |    10 +-
 .../hbase/util/HBaseFsck.WorkItemRegion.html    |    16 +-
 .../org/apache/hadoop/hbase/util/HBaseFsck.html |   420 +-
 .../apache/hadoop/hbase/util/package-tree.html  |     6 +-
 .../hadoop/hbase/wal/AbstractFSWALProvider.html |   188 +-
 .../hadoop/hbase/wal/AsyncFSWALProvider.html    |     9 +-
 .../wal/DisabledWALProvider.DisabledWAL.html    |    50 +-
 .../hadoop/hbase/wal/DisabledWALProvider.html   |    86 +-
 .../hadoop/hbase/wal/FSHLogProvider.Writer.html |     7 +-
 .../apache/hadoop/hbase/wal/FSHLogProvider.html |    21 +-
 ...oupingProvider.IdentityGroupingStrategy.html |     8 +-
 .../hbase/wal/RegionGroupingProvider.html       |    96 +-
 .../hadoop/hbase/wal/WALFactory.Providers.html  |    16 +-
 .../org/apache/hadoop/hbase/wal/WALFactory.html |   143 +-
 .../org/apache/hadoop/hbase/wal/WALKey.html     |    28 +-
 .../org/apache/hadoop/hbase/wal/WALKeyImpl.html |    10 +-
 .../hbase/wal/WALProvider.AsyncWriter.html      |     6 +-
 .../hadoop/hbase/wal/WALProvider.Writer.html    |     6 +-
 .../hbase/wal/WALProvider.WriterBase.html       |     4 +-
 .../apache/hadoop/hbase/wal/WALProvider.html    |    99 +-
 .../hadoop/hbase/wal/class-use/WAL.Reader.html  |     3 +-
 .../hadoop/hbase/wal/class-use/WALEdit.html     |    17 +-
 .../hadoop/hbase/wal/class-use/WALFactory.html  |    12 +-
 .../hadoop/hbase/wal/class-use/WALKey.html      |    17 +-
 .../hadoop/hbase/wal/class-use/WALProvider.html |    85 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     4 +-
 .../apache/hadoop/hbase/wal/package-use.html    |    18 +-
 devapidocs/overview-tree.html                   |     8 +-
 .../org/apache/hadoop/hbase/Version.html        |     6 +-
 .../hadoop/hbase/client/RowMutations.html       |   242 +-
 .../hfile/bucket/BucketCache.BucketEntry.html   |  2041 +-
 .../bucket/BucketCache.BucketEntryGroup.html    |  2041 +-
 .../hfile/bucket/BucketCache.RAMQueueEntry.html |  2041 +-
 .../bucket/BucketCache.StatisticsThread.html    |  2041 +-
 .../hfile/bucket/BucketCache.WriterThread.html  |  2041 +-
 .../hbase/io/hfile/bucket/BucketCache.html      |  2041 +-
 .../mapreduce/WALPlayer.WALKeyValueMapper.html  |     8 +-
 .../hbase/mapreduce/WALPlayer.WALMapper.html    |     8 +-
 .../hadoop/hbase/mapreduce/WALPlayer.html       |     8 +-
 .../master/HMaster.InitializationMonitor.html   |  6928 +++---
 .../hbase/master/HMaster.RedirectServlet.html   |  6928 +++---
 .../org/apache/hadoop/hbase/master/HMaster.html |  6928 +++---
 ...signmentManager.RegionInTransitionChore.html |    40 +-
 ...ssignmentManager.RegionInTransitionStat.html |    40 +-
 .../master/assignment/AssignmentManager.html    |    40 +-
 .../assignment/MergeTableRegionsProcedure.html  |  1040 +-
 ...tTableRegionProcedure.StoreFileSplitter.html |  1096 +-
 .../assignment/SplitTableRegionProcedure.html   |  1096 +-
 .../regionserver/CustomizedScanInfoBuilder.html |   114 +-
 .../HRegion.BatchOperation.Visitor.html         | 16921 +++++++-------
 .../regionserver/HRegion.BatchOperation.html    | 16921 +++++++-------
 .../regionserver/HRegion.BulkLoadListener.html  | 16921 +++++++-------
 .../HRegion.FlushResult.Result.html             | 16921 +++++++-------
 .../hbase/regionserver/HRegion.FlushResult.html | 16921 +++++++-------
 .../regionserver/HRegion.FlushResultImpl.html   | 16921 +++++++-------
 .../HRegion.MutationBatchOperation.html         | 16921 +++++++-------
 .../HRegion.ObservedExceptionsInBatch.html      | 16921 +++++++-------
 .../HRegion.PrepareFlushResult.html             | 16921 +++++++-------
 .../regionserver/HRegion.RegionScannerImpl.html | 16921 +++++++-------
 .../HRegion.ReplayBatchOperation.html           | 16921 +++++++-------
 .../regionserver/HRegion.RowLockContext.html    | 16921 +++++++-------
 .../hbase/regionserver/HRegion.RowLockImpl.html | 16921 +++++++-------
 .../hbase/regionserver/HRegion.WriteState.html  | 16921 +++++++-------
 .../hadoop/hbase/regionserver/HRegion.html      | 16921 +++++++-------
 .../HRegionServer.CompactionChecker.html        |  3880 ++--
 .../HRegionServer.MovedRegionInfo.html          |  3880 ++--
 .../HRegionServer.MovedRegionsCleaner.html      |  3880 ++--
 .../HRegionServer.PeriodicMemStoreFlusher.html  |  3880 ++--
 .../hbase/regionserver/HRegionServer.html       |  3880 ++--
 .../regionserver/RSRpcServices.LogDelegate.html |     2 +-
 ...SRpcServices.RegionScannerCloseCallBack.html |     2 +-
 .../RSRpcServices.RegionScannerHolder.html      |     2 +-
 ...pcServices.RegionScannerShippedCallBack.html |     2 +-
 ...RpcServices.RegionScannersCloseCallBack.html |     2 +-
 .../RSRpcServices.ScannerListener.html          |     2 +-
 .../hbase/regionserver/RSRpcServices.html       |     2 +-
 .../hbase/regionserver/Region.Operation.html    |   359 +-
 .../hbase/regionserver/Region.RowLock.html      |   359 +-
 .../hadoop/hbase/regionserver/Region.html       |   359 +-
 .../hbase/regionserver/ReplicationService.html  |   116 +-
 .../regionserver/ReplicationSourceService.html  |    33 +-
 .../hadoop/hbase/regionserver/ScanInfo.html     |    13 +-
 .../hadoop/hbase/regionserver/ScanOptions.html  |    89 +-
 .../hbase/regionserver/wal/ReaderBase.html      |     2 +-
 .../NamespaceTableCfWALEntryFilter.html         |    10 +-
 .../hbase/replication/ReplicationUtils.html     |   206 +-
 .../replication/SystemTableWALEntryFilter.html  |     2 +-
 ...erClusterReplicationEndpoint.Replicator.html |     2 +-
 .../HBaseInterClusterReplicationEndpoint.html   |     2 +-
 .../Replication.ReplicationStatisticsTask.html  |   363 +
 ...Replication.ReplicationStatisticsThread.html |   465 -
 .../replication/regionserver/Replication.html   |   624 +-
 ...icationSourceManager.NodeFailoverWorker.html |  1896 +-
 ...SourceManager.ReplicationQueueOperation.html |  1896 +-
 .../regionserver/ReplicationSourceManager.html  |  1896 +-
 .../ReplicationSyncUp.DummyServer.html          |   223 +-
 .../regionserver/ReplicationSyncUp.html         |   223 +-
 .../util/CommonFSUtils.StreamCapabilities.html  |   996 +-
 ...nFSUtils.StreamLacksCapabilityException.html |   996 +-
 .../apache/hadoop/hbase/util/CommonFSUtils.html |   996 +-
 ...BaseFsck.CheckRegionConsistencyWorkItem.html |  9768 ++++----
 .../HBaseFsck.ErrorReporter.ERROR_CODE.html     |  9768 ++++----
 .../hbase/util/HBaseFsck.ErrorReporter.html     |  9768 ++++----
 .../hbase/util/HBaseFsck.FileLockCallable.html  |  9768 ++++----
 .../hbase/util/HBaseFsck.HBaseFsckTool.html     |  9768 ++++----
 .../hadoop/hbase/util/HBaseFsck.HbckInfo.html   |  9768 ++++----
 .../hadoop/hbase/util/HBaseFsck.HdfsEntry.html  |  9768 ++++----
 .../hadoop/hbase/util/HBaseFsck.MetaEntry.html  |  9768 ++++----
 .../hbase/util/HBaseFsck.OnlineEntry.html       |  9768 ++++----
 .../util/HBaseFsck.PrintingErrorReporter.html   |  9768 ++++----
 .../HBaseFsck.RegionBoundariesInformation.html  |  9768 ++++----
 .../util/HBaseFsck.RegionRepairException.html   |  9768 ++++----
 .../HBaseFsck.TableInfo.HDFSIntegrityFixer.html |  9768 ++++----
 ...aseFsck.TableInfo.IntegrityFixSuggester.html |  9768 ++++----
 .../hadoop/hbase/util/HBaseFsck.TableInfo.html  |  9768 ++++----
 .../hbase/util/HBaseFsck.WorkItemHdfsDir.html   |  9768 ++++----
 .../util/HBaseFsck.WorkItemHdfsRegionInfo.html  |  9768 ++++----
 .../util/HBaseFsck.WorkItemOverlapMerge.html    |  9768 ++++----
 .../hbase/util/HBaseFsck.WorkItemRegion.html    |  9768 ++++----
 .../org/apache/hadoop/hbase/util/HBaseFsck.html |  9768 ++++----
 .../hbase/wal/AbstractFSWALProvider.Reader.html |   853 +-
 .../hadoop/hbase/wal/AbstractFSWALProvider.html |   853 +-
 .../wal/DisabledWALProvider.DisabledWAL.html    |   396 +-
 .../hadoop/hbase/wal/DisabledWALProvider.html   |   396 +-
 .../hadoop/hbase/wal/FSHLogProvider.Writer.html |   156 +-
 .../apache/hadoop/hbase/wal/FSHLogProvider.html |   156 +-
 ...oupingProvider.IdentityGroupingStrategy.html |   305 +-
 ...GroupingProvider.RegionGroupingStrategy.html |   305 +-
 .../wal/RegionGroupingProvider.Strategies.html  |   305 +-
 .../hbase/wal/RegionGroupingProvider.html       |   305 +-
 .../hadoop/hbase/wal/WALFactory.Providers.html  |   848 +-
 .../org/apache/hadoop/hbase/wal/WALFactory.html |   848 +-
 .../org/apache/hadoop/hbase/wal/WALKey.html     |   143 +-
 .../org/apache/hadoop/hbase/wal/WALKeyImpl.html |     2 +-
 .../hbase/wal/WALProvider.AsyncWriter.html      |   164 +-
 .../hadoop/hbase/wal/WALProvider.Writer.html    |   164 +-
 .../hbase/wal/WALProvider.WriterBase.html       |   164 +-
 .../apache/hadoop/hbase/wal/WALProvider.html    |   164 +-
 ...tter.BoundedLogWriterCreationOutputSink.html |     4 +-
 .../WALSplitter.CorruptedLogFileException.html  |     4 +-
 .../hbase/wal/WALSplitter.EntryBuffers.html     |     4 +-
 ...WALSplitter.LogRecoveredEditsOutputSink.html |     4 +-
 .../hbase/wal/WALSplitter.MutationReplay.html   |     4 +-
 .../hbase/wal/WALSplitter.OutputSink.html       |     4 +-
 .../wal/WALSplitter.PipelineController.html     |     4 +-
 .../wal/WALSplitter.RegionEntryBuffer.html      |     4 +-
 .../hbase/wal/WALSplitter.SinkWriter.html       |     4 +-
 .../hbase/wal/WALSplitter.WriterAndPath.html    |     4 +-
 .../hbase/wal/WALSplitter.WriterThread.html     |     4 +-
 .../apache/hadoop/hbase/wal/WALSplitter.html    |     4 +-
 export_control.html                             |     4 +-
 hbase-annotations/checkstyle.html               |     4 +-
 hbase-annotations/dependencies.html             |     4 +-
 hbase-annotations/dependency-convergence.html   |     4 +-
 hbase-annotations/dependency-info.html          |     4 +-
 hbase-annotations/dependency-management.html    |     4 +-
 hbase-annotations/index.html                    |     4 +-
 hbase-annotations/integration.html              |     4 +-
 hbase-annotations/issue-tracking.html           |     4 +-
 hbase-annotations/license.html                  |     4 +-
 hbase-annotations/mail-lists.html               |     4 +-
 hbase-annotations/plugin-management.html        |     4 +-
 hbase-annotations/plugins.html                  |     4 +-
 hbase-annotations/project-info.html             |     4 +-
 hbase-annotations/project-reports.html          |     4 +-
 hbase-annotations/project-summary.html          |     4 +-
 hbase-annotations/source-repository.html        |     4 +-
 hbase-annotations/team-list.html                |     4 +-
 hbase-build-configuration/dependencies.html     |     4 +-
 .../dependency-convergence.html                 |     4 +-
 hbase-build-configuration/dependency-info.html  |     4 +-
 .../dependency-management.html                  |     4 +-
 .../hbase-archetypes/dependencies.html          |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../hbase-archetypes/dependency-info.html       |     4 +-
 .../hbase-archetypes/dependency-management.html |     4 +-
 .../hbase-archetype-builder/dependencies.html   |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../dependency-info.html                        |     4 +-
 .../dependency-management.html                  |     4 +-
 .../hbase-archetype-builder/index.html          |     4 +-
 .../hbase-archetype-builder/integration.html    |     4 +-
 .../hbase-archetype-builder/issue-tracking.html |     4 +-
 .../hbase-archetype-builder/license.html        |     4 +-
 .../hbase-archetype-builder/mail-lists.html     |     4 +-
 .../plugin-management.html                      |     4 +-
 .../hbase-archetype-builder/plugins.html        |     4 +-
 .../hbase-archetype-builder/project-info.html   |     4 +-
 .../project-summary.html                        |     4 +-
 .../source-repository.html                      |     4 +-
 .../hbase-archetype-builder/team-list.html      |     4 +-
 .../hbase-client-project/checkstyle.html        |     4 +-
 .../hbase-client-project/dependencies.html      |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../hbase-client-project/dependency-info.html   |     4 +-
 .../dependency-management.html                  |     4 +-
 .../hbase-client-project/index.html             |     4 +-
 .../hbase-client-project/integration.html       |     4 +-
 .../hbase-client-project/issue-tracking.html    |     4 +-
 .../hbase-client-project/license.html           |     4 +-
 .../hbase-client-project/mail-lists.html        |     4 +-
 .../hbase-client-project/plugin-management.html |     4 +-
 .../hbase-client-project/plugins.html           |     4 +-
 .../hbase-client-project/project-info.html      |     4 +-
 .../hbase-client-project/project-reports.html   |     4 +-
 .../hbase-client-project/project-summary.html   |     4 +-
 .../hbase-client-project/source-repository.html |     4 +-
 .../hbase-client-project/team-list.html         |     4 +-
 .../hbase-shaded-client-project/checkstyle.html |     4 +-
 .../dependencies.html                           |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../dependency-info.html                        |     4 +-
 .../dependency-management.html                  |     4 +-
 .../hbase-shaded-client-project/index.html      |     4 +-
 .../integration.html                            |     4 +-
 .../issue-tracking.html                         |     4 +-
 .../hbase-shaded-client-project/license.html    |     4 +-
 .../hbase-shaded-client-project/mail-lists.html |     4 +-
 .../plugin-management.html                      |     4 +-
 .../hbase-shaded-client-project/plugins.html    |     4 +-
 .../project-info.html                           |     4 +-
 .../project-reports.html                        |     4 +-
 .../project-summary.html                        |     4 +-
 .../source-repository.html                      |     4 +-
 .../hbase-shaded-client-project/team-list.html  |     4 +-
 .../hbase-archetypes/index.html                 |     4 +-
 .../hbase-archetypes/integration.html           |     4 +-
 .../hbase-archetypes/issue-tracking.html        |     4 +-
 .../hbase-archetypes/license.html               |     4 +-
 .../hbase-archetypes/mail-lists.html            |     4 +-
 .../hbase-archetypes/plugin-management.html     |     4 +-
 .../hbase-archetypes/plugins.html               |     4 +-
 .../hbase-archetypes/project-info.html          |     4 +-
 .../hbase-archetypes/project-summary.html       |     4 +-
 .../hbase-archetypes/source-repository.html     |     4 +-
 .../hbase-archetypes/team-list.html             |     4 +-
 .../hbase-spark/checkstyle.html                 |     4 +-
 .../hbase-spark/dependencies.html               |     4 +-
 .../hbase-spark/dependency-convergence.html     |     4 +-
 .../hbase-spark/dependency-info.html            |     4 +-
 .../hbase-spark/dependency-management.html      |     4 +-
 .../hbase-spark/index.html                      |     4 +-
 .../hbase-spark/integration.html                |     4 +-
 .../hbase-spark/issue-tracking.html             |     4 +-
 .../hbase-spark/license.html                    |     4 +-
 .../hbase-spark/mail-lists.html                 |     4 +-
 .../hbase-spark/plugin-management.html          |     4 +-
 .../hbase-spark/plugins.html                    |     4 +-
 .../hbase-spark/project-info.html               |     4 +-
 .../hbase-spark/project-reports.html            |     4 +-
 .../hbase-spark/project-summary.html            |     4 +-
 .../hbase-spark/source-repository.html          |     4 +-
 .../hbase-spark/team-list.html                  |     4 +-
 hbase-build-configuration/index.html            |     4 +-
 hbase-build-configuration/integration.html      |     4 +-
 hbase-build-configuration/issue-tracking.html   |     4 +-
 hbase-build-configuration/license.html          |     4 +-
 hbase-build-configuration/mail-lists.html       |     4 +-
 .../plugin-management.html                      |     4 +-
 hbase-build-configuration/plugins.html          |     4 +-
 hbase-build-configuration/project-info.html     |     4 +-
 hbase-build-configuration/project-summary.html  |     4 +-
 .../source-repository.html                      |     4 +-
 hbase-build-configuration/team-list.html        |     4 +-
 hbase-shaded-check-invariants/checkstyle.html   |     4 +-
 hbase-shaded-check-invariants/dependencies.html |     6 +-
 .../dependency-convergence.html                 |     4 +-
 .../dependency-info.html                        |     4 +-
 .../dependency-management.html                  |     4 +-
 hbase-shaded-check-invariants/index.html        |     4 +-
 hbase-shaded-check-invariants/integration.html  |     4 +-
 .../issue-tracking.html                         |     4 +-
 hbase-shaded-check-invariants/license.html      |     4 +-
 hbase-shaded-check-invariants/mail-lists.html   |     4 +-
 .../plugin-management.html                      |     4 +-
 hbase-shaded-check-invariants/plugins.html      |     4 +-
 hbase-shaded-check-invariants/project-info.html |     4 +-
 .../project-reports.html                        |     4 +-
 .../project-summary.html                        |     4 +-
 .../source-repository.html                      |     4 +-
 hbase-shaded-check-invariants/team-list.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 +-
 testapidocs/deprecated-list.html                |    10 +
 testapidocs/index-all.html                      |    16 +-
 .../hadoop/hbase/HBaseTestingUtility.html       |   511 +-
 .../hbase/class-use/HBaseTestingUtility.html    |     8 +-
 .../hadoop/hbase/HBaseCommonTestingUtility.html |     4 +-
 .../hadoop/hbase/HBaseTestingUtility.html       |  7812 +++----
 testdevapidocs/allclasses-frame.html            |     6 +-
 testdevapidocs/allclasses-noframe.html          |     6 +-
 testdevapidocs/deprecated-list.html             |    10 +
 testdevapidocs/index-all.html                   |    88 +-
 .../apache/hadoop/hbase/HBaseClassTestRule.html |     4 +-
 ...lity.PortAllocator.AvailablePortChecker.html |     4 +-
 .../HBaseTestingUtility.PortAllocator.html      |    20 +-
 .../HBaseTestingUtility.SeenRowTracker.html     |    20 +-
 .../hadoop/hbase/HBaseTestingUtility.html       |   606 +-
 .../hbase/TestLocalHBaseCluster.MyHMaster.html  |     2 +-
 .../hadoop/hbase/backup/package-tree.html       |     2 +-
 .../hbase/class-use/HBaseClassTestRule.html     |    30 +-
 .../class-use/HBaseCommonTestingUtility.html    |    32 +-
 .../hbase/class-use/HBaseTestingUtility.html    |    12 +-
 ...tSide3.WaitingForMultiMutationsObserver.html |    10 +-
 ...tFromClientSide3.WaitingForScanObserver.html |    12 +-
 .../hbase/client/TestFromClientSide3.html       |    94 +-
 ...ook.CompactionCompletionNotifyingRegion.html |    12 +-
 ...erverScannerOpenHook.EmptyRegionObsever.html |     6 +-
 ...ionObserverScannerOpenHook.NoDataFilter.html |    10 +-
 ...verScannerOpenHook.NoDataFromCompaction.html |     8 +-
 ...ObserverScannerOpenHook.NoDataFromFlush.html |     8 +-
 ...nObserverScannerOpenHook.NoDataFromScan.html |    10 +-
 .../TestRegionObserverScannerOpenHook.html      |    20 +-
 .../TestRegionObserverStacking.ObserverA.html   |    10 +-
 .../TestRegionObserverStacking.ObserverB.html   |    10 +-
 .../TestRegionObserverStacking.ObserverC.html   |    10 +-
 .../coprocessor/TestRegionObserverStacking.html |    14 +-
 .../hbase/coprocessor/TestWALObserver.html      |    22 +-
 .../hbase/io/asyncfs/TestLocalAsyncOutput.html  |     4 +-
 .../master/TestMasterMetrics.MyMaster.html      |     2 +-
 .../TestShutdownBackupMaster.MockHMaster.html   |     2 +-
 .../TestMergeTableRegionsProcedure.html         |    10 +-
 .../TestSplitTableRegionProcedure.html          |    16 +-
 .../balancer/BalancerTestBase.MockMapping.html  |     4 +-
 .../hbase/master/balancer/BalancerTestBase.html |     2 +-
 .../master/balancer/BalancerTestBase2.html      |   331 +
 .../LoadBalancerPerformanceEvaluation.html      |     4 +-
 .../TestStochasticLoadBalancer.MockCluster.html |     4 +-
 .../balancer/TestStochasticLoadBalancer2.html   |   407 -
 ...estStochasticLoadBalancerBalanceCluster.html |     4 +-
 ...ncerRegionReplica.ForTestRackManagerOne.html |     4 +-
 ...oadBalancerRegionReplicaHighReplication.html |   354 +
 ...icLoadBalancerRegionReplicaLargeCluster.html |   354 +
 ...sticLoadBalancerRegionReplicaMidCluster.html |   354 +
 ...onReplicaReplicationGreaterThanNumNodes.html |   354 +
 ...asticLoadBalancerRegionReplicaSameHosts.html |     4 +-
 .../balancer/class-use/BalancerTestBase.html    |    32 +-
 .../balancer/class-use/BalancerTestBase2.html   |   177 +
 .../class-use/TestStochasticLoadBalancer2.html  |   125 -
 ...oadBalancerRegionReplicaHighReplication.html |   125 +
 ...icLoadBalancerRegionReplicaLargeCluster.html |   125 +
 ...sticLoadBalancerRegionReplicaMidCluster.html |   125 +
 ...onReplicaReplicationGreaterThanNumNodes.html |   125 +
 .../hbase/master/balancer/package-frame.html    |     6 +-
 .../hbase/master/balancer/package-summary.html  |    48 +-
 .../hbase/master/balancer/package-tree.html     |     9 +-
 .../hbase/master/balancer/package-use.html      |     3 +
 ...estingUtility.InjectAbortOnLoadListener.html |    16 +-
 .../MasterProcedureTestingUtility.html          |    48 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    10 +-
 .../org/apache/hadoop/hbase/package-use.html    |     5 -
 .../hadoop/hbase/procedure/package-tree.html    |     8 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 .../hbase/regionserver/OOMERegionServer.html    |     2 +-
 ...onInDeadRegionServer.IgnoreYouAreDeadRS.html |     2 +-
 .../regionserver/TestHRegion.Appender.html      |    18 +-
 .../regionserver/TestHRegion.FlushThread.html   |    16 +-
 .../TestHRegion.GetTillDoneOrException.html     |    14 +-
 .../TestHRegion.HRegionForTesting.html          |     8 +-
 .../TestHRegion.HRegionWithSeqId.html           |     6 +-
 .../TestHRegion.HStoreForTesting.html           |     6 +-
 .../regionserver/TestHRegion.Incrementer.html   |    18 +-
 .../TestHRegion.IsFlushWALMarker.html           |    10 +-
 .../regionserver/TestHRegion.PutThread.html     |    24 +-
 .../hadoop/hbase/regionserver/TestHRegion.html  |   312 +-
 .../hbase/regionserver/TestMajorCompaction.html |   121 +-
 ...Initializing.RegisterAndDieRegionServer.html |     2 +-
 ...egionMergeTransactionOnCluster.MyMaster.html |     4 +-
 ...egionServerReportForDuty.MyRegionServer.html |     2 +-
 ...eartbeatMessages.HeartbeatHRegionServer.html |     2 +-
 .../TestSplitTransactionOnCluster.MyMaster.html |     4 +-
 .../hadoop/hbase/regionserver/package-tree.html |     4 +-
 .../wal/AbstractTestLogRolling.html             |    16 +-
 .../wal/AbstractTestProtobufLog.html            |    32 +-
 ...bstractTestWALReplay.CustomStoreFlusher.html |     8 +-
 .../wal/AbstractTestWALReplay.MockWAL.html      |     8 +-
 .../wal/AbstractTestWALReplay.TestFlusher.html  |    16 +-
 .../regionserver/wal/AbstractTestWALReplay.html |    88 +-
 ...ActionsListener.DummyWALActionsListener.html |    16 +-
 .../wal/TestWALActionsListener.html             |    28 +-
 ...stReplicationProcedureRetry.MockHMaster.html |     2 +-
 .../replication/TestReplicationSmallTests.html  |    65 +-
 ...onSourceManager.DummyNodeFailoverWorker.html |    16 +-
 ...estReplicationSourceManager.DummyServer.html |    38 +-
 ...er.FailInitializeDummyReplicationSource.html |     6 +-
 .../TestReplicationSourceManager.html           |   121 +-
 .../TestReplicationSourceManagerZkImpl.html     |     2 +-
 .../TestWALEntryStream.PathWatcher.html         |     8 +-
 .../regionserver/TestWALEntryStream.html        |    78 +-
 .../apache/hadoop/hbase/test/package-tree.html  |     2 +-
 .../wal/IOTestProvider.AllowedOperations.html   |    16 +-
 .../hbase/wal/IOTestProvider.IOTestWAL.html     |    12 +-
 .../hbase/wal/IOTestProvider.IOTestWriter.html  |    16 +-
 .../apache/hadoop/hbase/wal/IOTestProvider.html |   144 +-
 .../hbase/wal/WALPerformanceEvaluation.html     |    28 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 testdevapidocs/overview-tree.html               |     9 +-
 .../apache/hadoop/hbase/HBaseClassTestRule.html |    48 +-
 .../hadoop/hbase/HBaseCommonTestingUtility.html |     4 +-
 .../org/apache/hadoop/hbase/HBaseTestCase.html  |     2 +-
 ...lity.PortAllocator.AvailablePortChecker.html |  7812 +++----
 .../HBaseTestingUtility.PortAllocator.html      |  7812 +++----
 .../HBaseTestingUtility.SeenRowTracker.html     |  7812 +++----
 .../hadoop/hbase/HBaseTestingUtility.html       |  7812 +++----
 ...tSide3.WaitingForMultiMutationsObserver.html |  2030 +-
 ...tFromClientSide3.WaitingForScanObserver.html |  2030 +-
 .../hbase/client/TestFromClientSide3.html       |  2030 +-
 .../hbase/coprocessor/SimpleRegionObserver.html |     2 +-
 ...ook.CompactionCompletionNotifyingRegion.html |   597 +-
 ...erverScannerOpenHook.EmptyRegionObsever.html |   597 +-
 ...ionObserverScannerOpenHook.NoDataFilter.html |   597 +-
 ...verScannerOpenHook.NoDataFromCompaction.html |   597 +-
 ...ObserverScannerOpenHook.NoDataFromFlush.html |   597 +-
 ...nObserverScannerOpenHook.NoDataFromScan.html |   597 +-
 .../TestRegionObserverScannerOpenHook.html      |   597 +-
 .../TestRegionObserverStacking.ObserverA.html   |   290 +-
 .../TestRegionObserverStacking.ObserverB.html   |   290 +-
 .../TestRegionObserverStacking.ObserverC.html   |   290 +-
 .../coprocessor/TestRegionObserverStacking.html |   290 +-
 .../hbase/coprocessor/TestWALObserver.html      |   287 +-
 .../hbase/io/asyncfs/TestLocalAsyncOutput.html  |     4 +-
 .../TestCacheOnWrite.CacheOnWriteType.html      |     4 +-
 .../hadoop/hbase/io/hfile/TestCacheOnWrite.html |     4 +-
 ...TestImportExport.TableWALActionListener.html |     2 +-
 .../hbase/mapreduce/TestImportExport.html       |     2 +-
 .../hadoop/hbase/mapreduce/TestWALPlayer.html   |     2 +-
 .../hbase/mapreduce/TestWALRecordReader.html    |     4 +-
 .../TestMergeTableRegionsProcedure.html         |   137 +-
 .../TestSplitTableRegionProcedure.html          |   341 +-
 .../master/balancer/BalancerTestBase2.html      |   112 +
 .../balancer/TestStochasticLoadBalancer2.html   |   168 -
 ...ncerRegionReplica.ForTestRackManagerOne.html |     6 +-
 ...TestStochasticLoadBalancerRegionReplica.html |     6 +-
 ...oadBalancerRegionReplicaHighReplication.html |   118 +
 ...icLoadBalancerRegionReplicaLargeCluster.html |   115 +
 ...sticLoadBalancerRegionReplicaMidCluster.html |   115 +
 ...onReplicaReplicationGreaterThanNumNodes.html |   118 +
 .../cleaner/TestLogsCleaner.DummyServer.html    |    10 +-
 .../TestLogsCleaner.FaultyZooKeeperWatcher.html |    10 +-
 .../hbase/master/cleaner/TestLogsCleaner.html   |    10 +-
 ...TestReplicationHFileCleaner.DummyServer.html |    18 +-
 ...tionHFileCleaner.FaultyZooKeeperWatcher.html |    18 +-
 .../cleaner/TestReplicationHFileCleaner.html    |    18 +-
 ...estingUtility.InjectAbortOnLoadListener.html |   207 +-
 .../MasterProcedureTestingUtility.html          |   207 +-
 ...stCacheOnWriteInSchema.CacheOnWriteType.html |     2 +-
 .../regionserver/TestCacheOnWriteInSchema.html  |     2 +-
 ...toreMockMaker.BlockingCompactionContext.html |     2 +-
 .../TestCompaction.BlockingStoreMockMaker.html  |     2 +-
 .../TestCompaction.DummyCompactor.html          |     2 +-
 ...on.StoreMockMaker.TestCompactionContext.html |     2 +-
 .../TestCompaction.StoreMockMaker.html          |     2 +-
 .../regionserver/TestCompaction.Tracker.html    |     2 +-
 .../hbase/regionserver/TestCompaction.html      |     2 +-
 ...oncurrentClose.WaitingHRegionFileSystem.html |     2 +-
 .../TestCompactionArchiveConcurrentClose.html   |     2 +-
 .../TestCompactionArchiveIOException.html       |     2 +-
 .../TestDefaultCompactSelection.html            |    39 +-
 ...MemStore.EnvironmentEdgeForMemstoreTest.html |     2 +-
 ...TestDefaultMemStore.ReadOwnWritesTester.html |     2 +-
 .../hbase/regionserver/TestDefaultMemStore.html |     2 +-
 .../hbase/regionserver/TestHMobStore.html       |     2 +-
 .../regionserver/TestHRegion.Appender.html      | 12851 ++++++-----
 .../regionserver/TestHRegion.FlushThread.html   | 12851 ++++++-----
 .../TestHRegion.GetTillDoneOrException.html     | 12851 ++++++-----
 .../TestHRegion.HRegionForTesting.html          | 12851 ++++++-----
 .../TestHRegion.HRegionWithSeqId.html           | 12851 ++++++-----
 .../TestHRegion.HStoreForTesting.html           | 12851 ++++++-----
 .../regionserver/TestHRegion.Incrementer.html   | 12851 ++++++-----
 .../TestHRegion.IsFlushWALMarker.html           | 12851 ++++++-----
 .../regionserver/TestHRegion.PutThread.html     | 12851 ++++++-----
 .../hadoop/hbase/regionserver/TestHRegion.html  | 12851 ++++++-----
 .../TestHStore.DummyStoreEngine.html            |     6 +-
 .../TestHStore.FaultyFileSystem.html            |     6 +-
 .../TestHStore.FaultyOutputStream.html          |     6 +-
 .../TestHStore.MyCompactingMemStore.html        |     6 +-
 ...MyCompactingMemStoreWithCustomCompactor.html |     6 +-
 .../hbase/regionserver/TestHStore.MyList.html   |     6 +-
 .../regionserver/TestHStore.MyListHook.html     |     6 +-
 .../TestHStore.MyMemStoreCompactor.html         |     6 +-
 .../hbase/regionserver/TestHStore.MyStore.html  |     6 +-
 .../regionserver/TestHStore.MyStoreHook.html    |     6 +-
 .../hbase/regionserver/TestHStore.MyThread.html |     6 +-
 .../hadoop/hbase/regionserver/TestHStore.html   |     6 +-
 .../hbase/regionserver/TestMajorCompaction.html |   906 +-
 .../hbase/regionserver/TestQosFunction.html     |     6 +-
 ...RefresherChore.FailingHRegionFileSystem.html |     2 +-
 ...esherChore.StaleStorefileRefresherChore.html |     2 +-
 .../TestStoreFileRefresherChore.html            |     2 +-
 .../regionserver/TestWALLockup.DummyServer.html |     4 +-
 .../TestWALLockup.DummyWALActionsListener.html  |     4 +-
 .../hbase/regionserver/TestWALLockup.html       |     4 +-
 ...LMonotonicallyIncreasingSeqId.IncThread.html |     2 +-
 ...LMonotonicallyIncreasingSeqId.PutThread.html |     2 +-
 .../TestWALMonotonicallyIncreasingSeqId.html    |     2 +-
 .../wal/AbstractTestLogRolling.html             |   260 +-
 .../wal/AbstractTestProtobufLog.html            |   359 +-
 ...bstractTestWALReplay.CustomStoreFlusher.html |  2387 +-
 .../wal/AbstractTestWALReplay.MockWAL.html      |  2387 +-
 .../wal/AbstractTestWALReplay.TestFlusher.html  |  2387 +-
 .../regionserver/wal/AbstractTestWALReplay.html |  2387 +-
 .../hbase/regionserver/wal/TestDurability.html  |     6 +-
 .../regionserver/wal/TestLogRollAbort.html      |     2 +-
 .../wal/TestLogRollingNoCluster.Appender.html   |     2 +-
 ...gRollingNoCluster.HighLatencySyncWriter.html |     2 +-
 .../wal/TestLogRollingNoCluster.html            |     2 +-
 ...ActionsListener.DummyWALActionsListener.html |   281 +-
 .../wal/TestWALActionsListener.html             |   281 +-
 .../TestReplicationEmptyWALRecovery.html        |     6 +-
 .../replication/TestReplicationSmallTests.html  |   768 +-
 ...eplicationEndpointNoMaster.WALEditCopro.html |     2 +-
 ...egionReplicaReplicationEndpointNoMaster.html |     2 +-
 ...onSourceManager.DummyNodeFailoverWorker.html |  1467 +-
 ...estReplicationSourceManager.DummyServer.html |  1467 +-
 ...er.FailInitializeDummyReplicationSource.html |  1467 +-
 .../TestReplicationSourceManager.html           |  1467 +-
 .../TestWALEntryStream.PathWatcher.html         |   869 +-
 .../regionserver/TestWALEntryStream.html        |   869 +-
 .../wal/IOTestProvider.AllowedOperations.html   |   489 +-
 .../hbase/wal/IOTestProvider.IOTestWAL.html     |   489 +-
 .../hbase/wal/IOTestProvider.IOTestWriter.html  |   489 +-
 .../apache/hadoop/hbase/wal/IOTestProvider.html |   489 +-
 .../wal/TestBoundedRegionGroupingStrategy.html  |     2 +-
 .../hadoop/hbase/wal/TestFSHLogProvider.html    |     6 +-
 .../apache/hadoop/hbase/wal/TestSecureWAL.html  |     2 +-
 .../TestWALFactory.DumbWALActionsListener.html  |     6 +-
 .../apache/hadoop/hbase/wal/TestWALFactory.html |     6 +-
 .../apache/hadoop/hbase/wal/TestWALMethods.html |     2 +-
 .../hbase/wal/TestWALReaderOnSecureWAL.html     |    71 +-
 .../apache/hadoop/hbase/wal/TestWALRootDir.html |     2 +-
 .../hbase/wal/TestWALSplit.Corruptions.html     |     4 +-
 ...ALSplit.ZombieLastLogWriterRegionServer.html |     4 +-
 .../apache/hadoop/hbase/wal/TestWALSplit.html   |     4 +-
 ...ALPerformanceEvaluation.WALPutBenchmark.html |   796 +-
 .../hbase/wal/WALPerformanceEvaluation.html     |   796 +-
 693 files changed, 383747 insertions(+), 380924 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index 20a8068..b927cfd 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="20180201" />
+    <meta name="Date-Revision-yyyymmdd" content="20180202" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -606,7 +606,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-02-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-02-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 8c90852..58c3492 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:20180201144648+00'00')
-/CreationDate (D:20180201144648+00'00')
+/ModDate (D:20180202144624+00'00')
+/CreationDate (D:20180202144624+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-7409344) 3452 0 R (__indexterm-7411594) 3454 0 R (__indexterm-7413656) 3455 0 R (__indexterm-7415530) 3456 0 R (acid) 912 0 R (acl) 3273 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3551 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3553 0 R (add.metrics) 3549 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3793 0 R (adding.new.node) 3017 0 R]
+/Names [(__anchor-top) 25 0 R (__indexterm-7409342) 3452 0 R (__indexterm-7411592) 3454 0 R (__indexterm-7413654) 3455 0 R (__indexterm-7415528) 3456 0 R (acid) 912 0 R (acl) 3273 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3551 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3553 0 R (add.metrics) 3549 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3793 0 R (adding.new.node) 3017 0 R]
 >>
 endobj
 137 0 obj

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/apidocs/deprecated-list.html
----------------------------------------------------------------------
diff --git a/apidocs/deprecated-list.html b/apidocs/deprecated-list.html
index f27ea2d..24580b4 100644
--- a/apidocs/deprecated-list.html
+++ b/apidocs/deprecated-list.html
@@ -265,6 +265,18 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Delete-">org.apache.hadoop.hbase.client.RowMutations.add(Delete)</a>
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>RowMutations.add(Mutation)</code></a></span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Put-">org.apache.hadoop.hbase.client.RowMutations.add(Put)</a>
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>RowMutations.add(Mutation)</code></a></span></div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#addColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">org.apache.hadoop.hbase.client.Admin.addColumn(TableName, ColumnFamilyDescriptor)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0.
              This will be removed in HBase 3.0.0.

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index 521160e..6ded456 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -137,11 +137,25 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Put-">add(Put)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></dt>
 <dd>
-<div class="block">Add a <a href="org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> operation to the list of mutations</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>RowMutations.add(Mutation)</code></a></span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Delete-">add(Delete)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></dt>
 <dd>
-<div class="block">Add a <a href="org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> operation to the list of mutations</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>RowMutations.add(Mutation)</code></a></span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-">add(Mutation)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></dt>
+<dd>
+<div class="block">Currently only supports <a href="org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RowMutations.html#add-java.util.List-">add(List&lt;? extends Mutation&gt;)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></dt>
+<dd>
+<div class="block">Currently only supports <a href="org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/client/Cluster.html#add-java.lang.String-">add(String)</a></span> - Method in class org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/Cluster.html" title="class in org.apache.hadoop.hbase.rest.client">Cluster</a></dt>
 <dd>
@@ -12841,6 +12855,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.html#of-byte:A-">of(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>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RowMutations.html#of-java.util.List-">of(List&lt;? extends Mutation&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></dt>
+<dd>
+<div class="block">Create a <a href="org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client"><code>RowMutations</code></a> with the specified mutations.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#offline-byte:A-">offline(byte[])</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>
 <div class="block">Offline specified region from master's in-memory state.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/apidocs/org/apache/hadoop/hbase/client/RowMutations.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/RowMutations.html b/apidocs/org/apache/hadoop/hbase/client/RowMutations.html
index 4ab1780..85b539e 100644
--- a/apidocs/org/apache/hadoop/hbase/client/RowMutations.html
+++ b/apidocs/org/apache/hadoop/hbase/client/RowMutations.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":42,"i3":42,"i4":10,"i5":10,"i6":10,"i7":42};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":42,"i1":10,"i2":10,"i3":42,"i4":42,"i5":42,"i6":10,"i7":10,"i8":10,"i9":42,"i10":9};
+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";
 var tableTab = "tableTab";
@@ -176,7 +176,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 </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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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>
@@ -184,16 +184,34 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <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/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Delete-">add</a></span>(<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">Add a <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> operation to the list of mutations</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>add(Mutation)</code></a></span></div>
+</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-java.util.List-">add</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Currently only supports <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-">add</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
+<div class="block">Currently only supports <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Put-">add</a></span>(<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">Add a <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> operation to the list of mutations</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>add(Mutation)</code></a></span></div>
+</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<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/client/RowMutations.html#compareTo-org.apache.hadoop.hbase.client.Row-">compareTo</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;i)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -202,7 +220,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 </div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#equals-java.lang.Object-">equals</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -211,19 +229,19 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 </div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<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/client/RowMutations.html#getMaxPriority--">getMaxPriority</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#getMutations--">getMutations</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#getRow--">getRow</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#hashCode--">hashCode</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -232,6 +250,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 </div>
 </td>
 </tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#of-java.util.List-">of</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Create a <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client"><code>RowMutations</code></a> with the specified mutations.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -260,7 +284,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>RowMutations</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.44">RowMutations</a>(byte[]&nbsp;row)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.59">RowMutations</a>(byte[]&nbsp;row)</pre>
 </li>
 </ul>
 <a name="RowMutations-byte:A-int-">
@@ -269,7 +293,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RowMutations</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.52">RowMutations</a>(byte[]&nbsp;row,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.67">RowMutations</a>(byte[]&nbsp;row,
                     int&nbsp;initialCapacity)</pre>
 <div class="block">Create an atomic mutation for the specified row.</div>
 <dl>
@@ -287,20 +311,42 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="of-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>of</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.48">of</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations)
+                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Create a <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client"><code>RowMutations</code></a> with the specified mutations.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mutations</code> - the mutations to send</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>RowMutations</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if any row in mutations is different to another</dd>
+</dl>
+</li>
+</ul>
 <a name="add-org.apache.hadoop.hbase.client.Put-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>add</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.67">add</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)
-         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.84">add</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)
+                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>add(Mutation)</code></a></span></div>
 <div class="block">Add a <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> operation to the list of mutations</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>p</code> - The <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> to add</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the row of added mutation doesn't match the original row</dd>
 </dl>
 </li>
 </ul>
@@ -310,14 +356,51 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>add</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.76">add</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;d)
-         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.96">add</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;d)
+                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>add(Mutation)</code></a></span></div>
 <div class="block">Add a <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> operation to the list of mutations</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>d</code> - The <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> to add</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the row of added mutation doesn't match the original row</dd>
+</dl>
+</li>
+</ul>
+<a name="add-org.apache.hadoop.hbase.client.Mutation-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.106">add</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Currently only supports <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mutation</code> - The data to send.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the row of added mutation doesn't match the original row</dd>
+</dl>
+</li>
+</ul>
+<a name="add-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.116">add</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations)
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Currently only supports <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mutations</code> - The data to send.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the row of added mutation doesn't match the original row</dd>
 </dl>
 </li>
 </ul>
@@ -328,7 +411,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <li class="blockList">
 <h4>compareTo</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.96">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;i)</pre>
+public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.134">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;i)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="../../../../../org/apache/hadoop/hbase/client/Row.html#COMPARATOR"><code>Row.COMPARATOR</code></a> instead</span></div>
 <dl>
@@ -346,7 +429,7 @@ public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/cl
 <li class="blockList">
 <h4>equals</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.106">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.144">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              No replacement</span></div>
 <dl>
@@ -362,7 +445,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <li class="blockList">
 <h4>hashCode</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.121">hashCode</a>()</pre>
+public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.159">hashCode</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              No replacement</span></div>
 <dl>
@@ -377,7 +460,7 @@ public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/cl
 <ul class="blockList">
 <li class="blockList">
 <h4>getRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.126">getRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.164">getRow</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/Row.html#getRow--">getRow</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a></code></dd>
@@ -392,7 +475,7 @@ public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/cl
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutations</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.133">getMutations</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.171">getMutations</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>An unmodifiable list of the current mutations.</dd>
@@ -405,7 +488,7 @@ public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/cl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getMaxPriority</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.137">getMaxPriority</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.175">getMaxPriority</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/apidocs/org/apache/hadoop/hbase/client/class-use/Delete.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Delete.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Delete.html
index 83e3a9d..b21ceb1 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Delete.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Delete.html
@@ -239,7 +239,10 @@
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Delete-">add</a></span>(<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">Add a <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> operation to the list of mutations</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>RowMutations.add(Mutation)</code></a></span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/apidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
index 7983865..5af9268 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
@@ -219,12 +219,18 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-">add</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
+<div class="block">Currently only supports <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BufferedMutator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/BufferedMutator.html#mutate-org.apache.hadoop.hbase.client.Mutation-">mutate</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
 <div class="block">Sends a <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client"><code>Mutation</code></a> to the table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncBufferedMutator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutator.html#mutate-org.apache.hadoop.hbase.client.Mutation-">mutate</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
 <div class="block">Sends a <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client"><code>Mutation</code></a> to the table.</div>
@@ -240,17 +246,29 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-java.util.List-">add</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Currently only supports <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BufferedMutator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/BufferedMutator.html#mutate-java.util.List-">mutate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Send some <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client"><code>Mutation</code></a>s to the table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncBufferedMutator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutator.html#mutate-java.util.List-">mutate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Send some <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client"><code>Mutation</code></a>s to the table.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#of-java.util.List-">of</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Create a <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client"><code>RowMutations</code></a> with the specified mutations.</div>
+</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html
index 015bc16..4ed42b8 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.688">SplitTableRegionProcedure.StoreFileSplitter</a>
+<pre>private class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.694">SplitTableRegionProcedure.StoreFileSplitter</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;<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;&gt;</pre>
 <div class="block">Utility class used to do the file splitting / reference writing
@@ -220,7 +220,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockList">
 <li class="blockList">
 <h4>regionFs</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.689">regionFs</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.695">regionFs</a></pre>
 </li>
 </ul>
 <a name="family">
@@ -229,7 +229,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockList">
 <li class="blockList">
 <h4>family</h4>
-<pre>private final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.690">family</a></pre>
+<pre>private final&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.696">family</a></pre>
 </li>
 </ul>
 <a name="sf">
@@ -238,7 +238,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>sf</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.691">sf</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.697">sf</a></pre>
 </li>
 </ul>
 </li>
@@ -255,7 +255,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>StoreFileSplitter</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.699">StoreFileSplitter</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;regionFs,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.705">StoreFileSplitter</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;regionFs,
                          byte[]&nbsp;family,
                          <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&nbsp;sf)</pre>
 <div class="block">Constructor that takes what it needs to split</div>
@@ -281,7 +281,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;<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/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.706">call</a>()
+<pre>public&nbsp;<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/master/assignment/SplitTableRegionProcedure.StoreFileSplitter.html#line.712">call</a>()
                                                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 ad56e7f..b1e22fb 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html
@@ -424,7 +424,9 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState-">rollbackState</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,
              org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState&nbsp;state)</code>
-<div class="block">called to perform the rollback of the specified state</div>
+<div class="block">To rollback <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment"><code>SplitTableRegionProcedure</code></a>, an AssignProcedure is asynchronously
+ submitted for parent region to be split (rollback doesn't wait on the completion of the
+ AssignProcedure) .</div>
 </td>
 </tr>
 <tr id="i27" class="rowColor">
@@ -561,7 +563,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockListLast">
 <li class="blockList">
 <h4>EXPECTED_SPLIT_STATES</h4>
-<pre>private static&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/master/assignment/SplitTableRegionProcedure.html#line.399">EXPECTED_SPLIT_STATES</a></pre>
+<pre>private static&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/master/assignment/SplitTableRegionProcedure.html#line.405">EXPECTED_SPLIT_STATES</a></pre>
 </li>
 </ul>
 </li>
@@ -671,12 +673,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.267">rollbackState</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/assignment/SplitTableRegionProcedure.html#line.273">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                              org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState&nbsp;state)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState-TEnvironment-TState-">StateMachineProcedure</a></code></span></div>
-<div class="block">called to perform the rollback of the specified state</div>
+<div class="block">To rollback <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment"><code>SplitTableRegionProcedure</code></a>, an AssignProcedure is asynchronously
+ submitted for parent region to be split (rollback doesn't wait on the completion of the
+ AssignProcedure) . This can be improved by changing rollback() to support sub-procedures.
+ See HBASE-19851 for details.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState-TEnvironment-TState-">rollbackState</a></code>&nbsp;in class&nbsp;<code><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>,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState&gt;</code></dd>
@@ -693,7 +697,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>isRollbackSupported</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.311">isRollbackSupported</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState&nbsp;state)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.317">isRollbackSupported</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState&nbsp;state)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isRollbackSupported-TState-">StateMachineProcedure</a></code></span></div>
 <div class="block">Used by the default implementation of abort() to know if the current state can be aborted
  and rollback can be triggered.</div>
@@ -709,7 +713,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.326">getState</a>(int&nbsp;stateId)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.332">getState</a>(int&nbsp;stateId)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState-int-">StateMachineProcedure</a></code></span></div>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 <dl>
@@ -728,7 +732,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateId</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.331">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState&nbsp;state)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.337">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState&nbsp;state)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId-TState-">StateMachineProcedure</a></code></span></div>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 <dl>
@@ -747,7 +751,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.336">getInitialState</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.342">getInitialState</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState--">StateMachineProcedure</a></code></span></div>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 <dl>
@@ -764,7 +768,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.341">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.347">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
 <div class="block">The user-level code of the procedure may have some state to
@@ -786,7 +790,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>deserializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.355">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.361">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
 <div class="block">Called on store load to allow the user to decode the previously serialized
@@ -807,7 +811,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringClassDetails</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.369">toStringClassDetails</a>(<a href="http://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/assignment/SplitTableRegionProcedure.html#line.375">toStringClassDetails</a>(<a href="http://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>
@@ -825,7 +829,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getParentRegion</h4>
-<pre>private&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/master/assignment/SplitTableRegionProcedure.html#line.381">getParentRegion</a>()</pre>
+<pre>private&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/master/assignment/SplitTableRegionProcedure.html#line.387">getParentRegion</a>()</pre>
 </li>
 </ul>
 <a name="getTableOperationType--">
@@ -834,7 +838,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableOperationType</h4>
-<pre>public&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/assignment/SplitTableRegionProcedure.html#line.386">getTableOperationType</a>()</pre>
+<pre>public&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/assignment/SplitTableRegionProcedure.html#line.392">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)
@@ -855,7 +859,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcedureMetrics</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureMetrics.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.391">getProcedureMetrics</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/ProcedureMetrics.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.397">getProcedureMetrics</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#getProcedureMetrics-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">Override this method to provide procedure specific counters for submitted count, failed
  count and time histogram.</div>
@@ -875,7 +879,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitRow</h4>
-<pre>private&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.395">getSplitRow</a>()</pre>
+<pre>private&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.401">getSplitRow</a>()</pre>
 </li>
 </ul>
 <a name="prepareSplitRegion-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
@@ -884,7 +888,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareSplitRegion</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.406">prepareSplitRegion</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>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.412">prepareSplitRegion</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Prepare to Split region.</div>
 <dl>
@@ -901,7 +905,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>preSplitRegion</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.459">preSplitRegion</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.465">preSplitRegion</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Action before splitting region in a table.</div>
@@ -920,7 +924,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>postRollBackSplitRegion</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.482">postRollBackSplitRegion</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.488">postRollBackSplitRegion</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Action after rollback a split table region action.</div>
 <dl>
@@ -937,7 +941,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>openParentRegion</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.493">openParentRegion</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.499">openParentRegion</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Rollback close parent region</div>
 <dl>
@@ -954,7 +958,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>createDaughterRegions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.512">createDaughterRegions</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>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.518">createDaughterRegions</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create daughter regions</div>
 <dl>
@@ -971,7 +975,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>splitStoreFiles</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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.541">splitStoreFiles</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>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.547">splitStoreFiles</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/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;regionFs)
                                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create Split directory</div>
@@ -989,7 +993,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>assertReferenceFileCount</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.656">assertReferenceFileCount</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.662">assertReferenceFileCount</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                       int&nbsp;expectedReferenceFileCount,
                                       org.apache.hadoop.fs.Path&nbsp;dir)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1005,7 +1009,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>splitStoreFile</h4>
-<pre>private&nbsp;<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/master/assignment/SplitTableRegionProcedure.html#line.664">splitStoreFile</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;regionFs,
+<pre>private&nbsp;<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/master/assignment/SplitTableRegionProcedure.html#line.670">splitStoreFile</a>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;regionFs,
                                                                                  byte[]&nbsp;family,
                                                                                  <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&nbsp;sf)
                                                                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1021,7 +1025,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>preSplitRegionBeforeMETA</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.715">preSplitRegionBeforeMETA</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.721">preSplitRegionBeforeMETA</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Post split region actions before the Point-of-No-Return step</div>
@@ -1040,7 +1044,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <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.739">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)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.745">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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Add daughter regions to META</div>
 <dl>
@@ -1057,7 +1061,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>preSplitRegionAfterMETA</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.748">preSplitRegionAfterMETA</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.754">preSplitRegionAfterMETA</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Pre split region actions after the Point-of-No-Return step</div>
@@ -1076,7 +1080,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>postSplitRegion</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.760">postSplitRegion</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.766">postSplitRegion</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Post split region actions</div>
 <dl>
@@ -1093,7 +1097,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getParentRegionServerName</h4>
-<pre>private&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/SplitTableRegionProcedure.html#line.767">getParentRegionServerName</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>private&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/SplitTableRegionProcedure.html#line.773">getParentRegionServerName</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="createUnassignProcedures-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-int-">
@@ -1102,7 +1106,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>createUnassignProcedures</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/UnassignProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">UnassignProcedure</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.772">createUnassignProcedures</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>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/UnassignProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">UnassignProcedure</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.778">createUnassignProcedures</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                      int&nbsp;regionReplication)</pre>
 </li>
 </ul>
@@ -1112,7 +1116,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>createAssignProcedures</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignProcedure</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.782">createAssignProcedures</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>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignProcedure</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.788">createAssignProcedures</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                  int&nbsp;regionReplication)</pre>
 </li>
 </ul>
@@ -1122,7 +1126,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionReplication</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.798">getRegionReplication</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>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.804">getRegionReplication</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1136,7 +1140,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isTraceEnabled</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.808">isTraceEnabled</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#line.814">isTraceEnabled</a>()</pre>
 <div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
  retrieve it.</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
index f82f773..b99a6b3 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
@@ -197,8 +197,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.Action.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.LocalityType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.Action.Type</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 19b6990..4da0978 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -332,11 +332,11 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/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/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 5622b41..d87315f 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
@@ -615,7 +615,11 @@
 <tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><span class="typeNameLabel">MergeTableRegionsProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState-">rollbackState</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,
-             org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState&nbsp;state)</code>&nbsp;</td>
+             org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState&nbsp;state)</code>
+<div class="block">To rollback <a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment"><code>MergeTableRegionsProcedure</code></a>, two AssignProcedures are asynchronously
+ submitted for each region to be merged (rollback doesn't wait on the completion of the
+ AssignProcedures) .</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
@@ -625,7 +629,11 @@
 <tr class="rowColor">
 <td class="colFirst"><code>protected 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#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState-">rollbackState</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,
-             org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState&nbsp;state)</code>&nbsp;</td>
+             org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState&nbsp;state)</code>
+<div class="block">To rollback <a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment"><code>SplitTableRegionProcedure</code></a>, an AssignProcedure is asynchronously
+ submitted for parent region to be split (rollback doesn't wait on the completion of the
+ AssignProcedure) .</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private void</code></td>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 e7ecf93..c4a4613 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -445,20 +445,20 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<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/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/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/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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/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/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/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/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/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/ProcedureState.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ProcedureState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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/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/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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/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/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/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/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.Type</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 3b1f299..086e483 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -206,12 +206,12 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.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/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/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/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/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/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html b/devapidocs/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html
index 942e49c..3f6e900 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.26">CustomizedScanInfoBuilder</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.27">CustomizedScanInfoBuilder</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html" title="interface in org.apache.hadoop.hbase.regionserver">ScanOptions</a></pre>
 <div class="block">Helper class for CP hooks to change max versions and TTL.</div>
@@ -137,14 +137,18 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOpti
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#keepDeletedCells">keepDeletedCells</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#maxVersions">maxVersions</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#scanInfo">scanInfo</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/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/regionserver/CustomizedScanInfoBuilder.html#ttl">ttl</a></span></code>&nbsp;</td>
 </tr>
@@ -185,22 +189,30 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOpti
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#build--">build</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#getKeepDeletedCells--">getKeepDeletedCells</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/regionserver/CustomizedScanInfoBuilder.html#getMaxVersions--">getMaxVersions</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<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/regionserver/CustomizedScanInfoBuilder.html#getTTL--">getTTL</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#setKeepDeletedCells-org.apache.hadoop.hbase.KeepDeletedCells-">setKeepDeletedCells</a></span>(<a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;keepDeletedCells)</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/regionserver/CustomizedScanInfoBuilder.html#setMaxVersions-int-">setMaxVersions</a></span>(int&nbsp;maxVersions)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<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/regionserver/CustomizedScanInfoBuilder.html#setTTL-long-">setTTL</a></span>(long&nbsp;ttl)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -239,7 +251,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOpti
 <ul class="blockList">
 <li class="blockList">
 <h4>scanInfo</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.28">scanInfo</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.29">scanInfo</a></pre>
 </li>
 </ul>
 <a name="maxVersions">
@@ -248,16 +260,25 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOpti
 <ul class="blockList">
 <li class="blockList">
 <h4>maxVersions</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.30">maxVersions</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.31">maxVersions</a></pre>
 </li>
 </ul>
 <a name="ttl">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>ttl</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.32">ttl</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.33">ttl</a></pre>
+</li>
+</ul>
+<a name="keepDeletedCells">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>keepDeletedCells</h4>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.35">keepDeletedCells</a></pre>
 </li>
 </ul>
 </li>
@@ -274,7 +295,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOpti
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CustomizedScanInfoBuilder</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.34">CustomizedScanInfoBuilder</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.37">CustomizedScanInfoBuilder</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;scanInfo)</pre>
 </li>
 </ul>
 </li>
@@ -291,7 +312,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOpti
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxVersions</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.39">getMaxVersions</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.42">getMaxVersions</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html#getMaxVersions--">getMaxVersions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html" title="interface in org.apache.hadoop.hbase.regionserver">ScanOptions</a></code></dd>
@@ -304,7 +325,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOpti
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxVersions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.44">setMaxVersions</a>(int&nbsp;maxVersions)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.47">setMaxVersions</a>(int&nbsp;maxVersions)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html#setMaxVersions-int-">setMaxVersions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html" title="interface in org.apache.hadoop.hbase.regionserver">ScanOptions</a></code></dd>
@@ -317,7 +338,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOpti
 <ul class="blockList">
 <li class="blockList">
 <h4>getTTL</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.49">getTTL</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.52">getTTL</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html#getTTL--">getTTL</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html" title="interface in org.apache.hadoop.hbase.regionserver">ScanOptions</a></code></dd>
@@ -330,7 +351,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOpti
 <ul class="blockList">
 <li class="blockList">
 <h4>setTTL</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.54">setTTL</a>(long&nbsp;ttl)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.57">setTTL</a>(long&nbsp;ttl)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html#setTTL-long-">setTTL</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html" title="interface in org.apache.hadoop.hbase.regionserver">ScanOptions</a></code></dd>
@@ -343,22 +364,48 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOpti
 <ul class="blockList">
 <li class="blockList">
 <h4>build</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.58">build</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.61">build</a>()</pre>
 </li>
 </ul>
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.66">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.69">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
+<a name="setKeepDeletedCells-org.apache.hadoop.hbase.KeepDeletedCells-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setKeepDeletedCells</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.74">setKeepDeletedCells</a>(<a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;keepDeletedCells)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html#setKeepDeletedCells-org.apache.hadoop.hbase.KeepDeletedCells-">setKeepDeletedCells</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html" title="interface in org.apache.hadoop.hbase.regionserver">ScanOptions</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getKeepDeletedCells--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getKeepDeletedCells</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#line.79">getKeepDeletedCells</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html#getKeepDeletedCells--">getKeepDeletedCells</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html" title="interface in org.apache.hadoop.hbase.regionserver">ScanOptions</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
index 4da6779..25619fd 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
-public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2965">HRegion.BatchOperation.Visitor</a></pre>
+public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2966">HRegion.BatchOperation.Visitor</a></pre>
 <div class="block">Visitor interface for batch operations</div>
 </li>
 </ul>
@@ -155,7 +155,7 @@ public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase
 <ul class="blockListLast">
 <li class="blockList">
 <h4>visit</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html#line.2970">visit</a>(int&nbsp;index)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html#line.2971">visit</a>(int&nbsp;index)
        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
index 404e5b0..93e5b96 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.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":9,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":9,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":9,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109
 ":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":9,"i127":10,"i128":9,"i129":10,"i130":10,"i131":10,"i132":10,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":9,"i147":10,"i148":9,"i149":10,"i150":10,"i151":10,"i152":10,"i153":10,"i154":10,"i155":10,"i156":10,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":9,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":9,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":9,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":9,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109"
 :10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":9,"i128":10,"i129":9,"i130":10,"i131":10,"i132":10,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":9,"i148":10,"i149":9,"i150":10,"i151":10,"i152":10,"i153":10,"i154":10,"i155":10,"i156":10,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":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";
@@ -792,11 +792,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 </tr>
 <tr id="i29" class="rowColor">
 <td class="colFirst"><code>private static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createNewReplicationInstance-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">createNewReplicationInstance</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createNewReplicationInstance-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">createNewReplicationInstance</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                             <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;server,
                             org.apache.hadoop.fs.FileSystem&nbsp;walFs,
                             org.apache.hadoop.fs.Path&nbsp;walDir,
-                            org.apache.hadoop.fs.Path&nbsp;oldWALDir)</code>
+                            org.apache.hadoop.fs.Path&nbsp;oldWALDir,
+                            <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)</code>
 <div class="block">Load the replication executorService objects, if any</div>
 </td>
 </tr>
@@ -827,463 +828,472 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createRpcServices--">createRpcServices</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i35" class="rowColor">
+<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#decorateRegionServerConfiguration-org.apache.hadoop.conf.Configuration-">decorateRegionServerConfiguration</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
+<div class="block">This method modifies the region server's configuration in order to inject replication-related
+ features</div>
+</td>
+</tr>
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#deleteMyEphemeralNode--">deleteMyEphemeralNode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#execRegionServerService-org.apache.hbase.thirdparty.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest-">execRegionServerService</a></span>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController&nbsp;controller,
                        org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest&nbsp;serviceRequest)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#executeProcedure-long-org.apache.hadoop.hbase.procedure2.RSProcedureCallable-">executeProcedure</a></span>(long&nbsp;procId,
                 <a href="../../../../../org/apache/hadoop/hbase/procedure2/RSProcedureCallable.html" title="interface in org.apache.hadoop.hbase.procedure2">RSProcedureCallable</a>&nbsp;callable)</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCacheConfig--">getCacheConfig</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getChoreService--">getChoreService</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getClusterConnection--">getClusterConnection</a></span>()</code>
 <div class="block">Returns a reference to the servers' cluster connection.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getClusterId--">getClusterId</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactionPressure--">getCompactionPressure</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequester.html" title="interface in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequester</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactionRequestor--">getCompactionRequestor</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactSplit.html" title="class in org.apache.hadoop.hbase.regionserver">CompactSplit</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactSplitThread--">getCompactSplitThread</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.conf.Configuration</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConfiguration--">getConfiguration</a></span>()</code>
 <div class="block">Gets the configuration object for this server.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getConfigurationManager--">getConfigurationManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code><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/regionserver/HRegionServer.html#getConnection--">getConnection</a></span>()</code>
 <div class="block">Returns a reference to the servers' connection.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/CoordinatedStateManager.html" title="interface in org.apache.hadoop.hbase">CoordinatedStateManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCoordinatedStateManager--">getCoordinatedStateManager</a></span>()</code>
 <div class="block">Get CoordinatedStateManager instance for this server.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCopyOfOnlineRegionsSortedBySize--">getCopyOfOnlineRegionsSortedBySize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends javax.servlet.http.HttpServlet&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getDumpServlet--">getDumpServlet</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/util/NettyEventLoopGroupConfig.html" title="class in org.apache.hadoop.hbase.util">NettyEventLoopGroupConfig</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getEventLoopGroupConfig--">getEventLoopGroupConfig</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getExecutorService--">getExecutorService</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFavoredNodesForRegion-java.lang.String-">getFavoredNodesForRegion</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)</code>
 <div class="block">Return the favored nodes for a region given its encoded name.</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.fs.FileSystem</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFileSystem--">getFileSystem</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFlushPressure--">getFlushPressure</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFlushRequester--">getFlushRequester</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFlushThroughputController--">getFlushThroughputController</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getFsTableDescriptors--">getFsTableDescriptors</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getHeapMemoryManager--">getHeapMemoryManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/http/InfoServer.html" title="class in org.apache.hadoop.hbase.http">InfoServer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getInfoServer--">getInfoServer</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getLastSequenceId-byte:A-">getLastSequenceId</a></span>(byte[]&nbsp;encodedRegionName)</code>&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.html" title="class in org.apache.hadoop.hbase.regionserver">Leases</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getLeases--">getLeases</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">MasterAddressTracker</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMasterAddressTracker--">getMasterAddressTracker</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper">MetaTableLocator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMetaTableLocator--">getMetaTableLocator</a></span>()</code>
 <div class="block">Returns instance of <a href="../../../../../org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper"><code>MetaTableLocator</code></a>
  running inside this server.</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>protected <a href="http://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;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMetaTableObserver--">getMetaTableObserver</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMetrics--">getMetrics</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>protected <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/HRegionServer.html#getMostLoadedRegions--">getMostLoadedRegions</a></span>()</code>
 <div class="block">Get the top N most loaded regions this server is serving so we can tell the
  master which regions it can reallocate if we're overloaded.</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMovedRegion-java.lang.String-">getMovedRegion</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)</code>&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getMyEphemeralNodePath--">getMyEphemeralNodePath</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ServerNonceManager.html" title="class in org.apache.hadoop.hbase.regionserver">ServerNonceManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getNonceManager--">getNonceManager</a></span>()</code>
 <div class="block">Only required for "old" log replay; if it's removed, remove this.</div>
 </td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getNumberOfOnlineRegions--">getNumberOfOnlineRegions</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegion-byte:A-">getOnlineRegion</a></span>(byte[]&nbsp;regionName)</code>&nbsp;</td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegionsAsPrintableString--">getOnlineRegionsAsPrintableString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegionsLocalContext--">getOnlineRegionsLocalContext</a></span>()</code>
 <div class="block">For tests, web ui and metrics.</div>
 </td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineTables--">getOnlineTables</a></span>()</code>
 <div class="block">Gets the online tables in this RS.</div>
 </td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getProcessName--">getProcessName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegion-byte:A-">getRegion</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Protected Utility method for safely obtaining an HRegion handle.</div>
 </td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegion-java.lang.String-">getRegion</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)</code>
 <div class="block">Return <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>Region</code></a> instance.</div>
 </td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionBlockLocations-java.lang.String-">getRegionBlockLocations</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)</code>&nbsp;</td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionByEncodedName-byte:A-java.lang.String-">getRegionByEncodedName</a></span>(byte[]&nbsp;regionName,
                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)</code>&nbsp;</td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionByEncodedName-java.lang.String-">getRegionByEncodedName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)</code>&nbsp;</td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegions--">getRegions</a></span>()</code>
 <div class="block">Get all online regions in this RS.</div>
 </td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegions-org.apache.hadoop.hbase.TableName-">getRegions</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">Gets the online regions of the specified table.</div>
 </td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerAccounting--">getRegionServerAccounting</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerCoprocessorHost--">getRegionServerCoprocessorHost</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerCoprocessors--">getRegionServerCoprocessors</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerMetrics--">getRegionServerMetrics</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerRpcQuotaManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerRpcQuotaManager--">getRegionServerRpcQuotaManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionServerSpaceQuotaManager--">getRegionServerSpaceQuotaManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegionsInTransitionInRS--">getRegionsInTransitionInRS</a></span>()</code>
 <div class="block">Get the regions that are currently being opened or closed in the RS</div>
 </td>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getReplicationSinkService--">getReplicationSinkService</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getReplicationSourceService--">getReplicationSourceService</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code>protected org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRootDir--">getRootDir</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRpcServer--">getRpcServer</a></span>()</code>
 <div class="block">Returns a reference to the region server's RPC server</div>
 </td>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRSRpcServices--">getRSRpcServices</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.html" title="class in org.apache.hadoop.hbase.regionserver">SecureBulkLoadManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getSecureBulkLoadManager--">getSecureBulkLoadManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i98" 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/regionserver/HRegionServer.html#getServerName--">getServerName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i99" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getStartcode--">getStartcode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i99" class="rowColor">
+<tr id="i100" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getTableDescriptors--">getTableDescriptors</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i100" class="altColor">
+<tr id="i101" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getThreadWakeFrequency--">getThreadWakeFrequency</a></span>()</code>
 <div class="block">Interval at which threads should run</div>
 </td>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getUseThisHostnameInstead-org.apache.hadoop.conf.Configuration-">getUseThisHostnameInstead</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</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 id="i103" class="rowColor">
+<tr id="i104" 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/regionserver/HRegionServer.html#getWALFileSystem--">getWALFileSystem</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i104" class="altColor">
+<tr id="i105" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/LogRoller.html" title="class in org.apache.hadoop.hbase.regionserver">LogRoller</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWalRoller--">getWalRoller</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i105" class="rowColor">
+<tr id="i106" class="altColor">
 <td class="colFirst"><code>protected org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALRootDir--">getWALRootDir</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i106" class="altColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWALs--">getWALs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i107" class="rowColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.WriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock.WriteLock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWriteLock--">getWriteLock</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i108" class="altColor">
+<tr id="i109" class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getWriteRequestCount--">getWriteRequestCount</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i109" class="rowColor">
+<tr id="i110" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getZooKeeper--">getZooKeeper</a></span>()</code>
 <div class="block">Gets the ZooKeeper instance for this server.</div>
 </td>
 </tr>
-<tr id="i110" class="altColor">
+<tr id="i111" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#handleReportForDutyResponse-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse-">handleReportForDutyResponse</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse&nbsp;c)</code>&nbsp;</td>
 </tr>
-<tr id="i111" class="rowColor">
+<tr id="i112" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#initializeFileSystem--">initializeFileSystem</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i112" class="altColor">
+<tr id="i113" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#initializeMemStoreChunkCreator--">initializeMemStoreChunkCreator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i113" class="rowColor">
+<tr id="i114" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#initializeThreads--">initializeThreads</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i114" class="altColor">
+<tr id="i115" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#initializeZooKeeper--">initializeZooKeeper</a></span>()</code>
 <div class="block">Bring up connection to zk ensemble and then wait until a master for this cluster and then after
  that, wait until cluster 'up' flag has been set.</div>
 </td>
 </tr>
-<tr id="i115" class="rowColor">
+<tr id="i116" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isAborted--">isAborted</a></span>()</code>
 <div class="block">Check if the server or client was aborted.</div>
 </td>
 </tr>
-<tr id="i116" class="altColor">
+<tr id="i117" class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isClusterUp--">isClusterUp</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i117" class="rowColor">
+<tr id="i118" class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isHealthCheckerConfigured--">isHealthCheckerConfigured</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i118" class="altColor">
+<tr id="i119" class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isHealthy--">isHealthy</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i119" class="rowColor">
+<tr id="i120" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isOnline--">isOnline</a></span>()</code>
 <div class="block">Report the status of the server.</div>
 </td>
 </tr>
-<tr id="i120" class="altColor">
+<tr id="i121" class="rowColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isOnlineRegionsEmpty--">isOnlineRegionsEmpty</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i121" class="rowColor">
+<tr id="i122" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isStopped--">isStopped</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i122" class="altColor">
+<tr id="i123" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#isStopping--">isStopping</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i123" class="rowColor">
+<tr id="i124" class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#keepLooping--">keepLooping</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i124" class="altColor">
+<tr id="i125" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#kill--">kill</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i125" class="rowColor">
+<tr id="i126" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#login-org.apache.hadoop.hbase.security.UserProvider-java.lang.String-">login</a></span>(<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a>&nbsp;user,
      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host)</code>&nbsp;</td>
 </tr>
-<tr id="i126" class="altColor">
+<tr id="i127" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#main-java.lang.String:A-">main</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>&nbsp;</td>
 </tr>
-<tr id="i127" class="rowColor">
+<tr id="i128" class="altColor">
 <td class="colFirst"><code>protected int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#movedRegionCleanerPeriod--">movedRegionCleanerPeriod</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i128" class="altColor">
-<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#newReplicationInstance-java.lang.String-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">newReplicationInstance</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classname,
+<tr id="i129" class="rowColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a>&gt;<br>T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#newReplicationInstance-java.lang.String-java.lang.Class-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">newReplicationInstance</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classname,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;xface,
                       org.apache.hadoop.conf.Configuration&nbsp;conf,
                       <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;server,
                       org.apache.hadoop.fs.FileSystem&nbsp;walFs,
                       org.apache.hadoop.fs.Path&nbsp;logDir,
-                      org.apache.hadoop.fs.Path&nbsp;oldLogDir)</code>&nbsp;</td>
+                      org.apache.hadoop.fs.Path&nbsp;oldLogDir,
+                      <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)</code>&nbsp;</td>
 </tr>
-<tr id="i129" class="rowColor">
+<tr id="i130" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">onConfigurationChange</a></span>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</code>
 <div class="block">This method would be called by the <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a>
  object when the <code>Configuration</code> object is reloaded from disk.</div>
 </td>
 </tr>
-<tr id="i130" class="altColor">
+<tr id="i131" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#postOpenDeployTasks-org.apache.hadoop.hbase.regionserver.RegionServerServices.PostOpenDeployContext-">postOpenDeployTasks</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.PostOpenDeployContext</a>&nbsp;context)</code>
 <div class="block">Tasks to perform after region open to complete deploy of region on
  regionserver</div>
 </td>
 </tr>
-<tr id="i131" class="rowColor">
+<tr id="i132" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#preRegistrationInitialization--">preRegistrationInitialization</a></span>()</code>
 <div class="block">All initialization needed before we go register with Master.<br>
  Do bare minimum.</div>
 </td>
 </tr>
-<tr id="i132" class="altColor">
+<tr id="i133" class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#putUpWebUI--">putUpWebUI</a></span>()</code>
 <div class="block">Puts up the webui.</div>
 </td>
 </tr>
-<tr id="i133" class="rowColor">
+<tr id="i134" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/locking/EntityLock.html" title="class in org.apache.hadoop.hbase.client.locking">EntityLock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#regionLock-java.util.List-java.lang.String-org.apache.hadoop.hbase.Abortable-">regionLock</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regionInfos,
           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;description,
@@ -1291,117 +1301,117 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <div class="block">Master based locks on namespaces/tables/regions.</div>
 </td>
 </tr>
-<tr id="i134" class="altColor">
+<tr id="i135" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#registerConfigurationObservers--">registerConfigurationObservers</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i135" class="rowColor">
+<tr id="i136" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#registerService-com.google.protobuf.Service-">registerService</a></span>(com.google.protobuf.Service&nbsp;instance)</code>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a coprocessor endpoint to be
  available for handling</div>
 </td>
 </tr>
-<tr id="i136" class="altColor">
+<tr id="i137" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#remoteProcedureComplete-long-java.lang.Throwable-">remoteProcedureComplete</a></span>(long&nbsp;procId,
                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;error)</code>&nbsp;</td>
 </tr>
-<tr id="i137" class="rowColor">
+<tr id="i138" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#removeFromMovedRegions-java.lang.String-">removeFromMovedRegions</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedName)</code>&nbsp;</td>
 </tr>
-<tr id="i138" class="altColor">
+<tr id="i139" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#removeRegion-org.apache.hadoop.hbase.regionserver.HRegion-org.apache.hadoop.hbase.ServerName-">removeRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;r,
             <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;destination)</code>
 <div class="block">Removes the given Region from the list of onlineRegions.</div>
 </td>
 </tr>
-<tr id="i139" class="rowColor">
+<tr id="i140" class="altColor">
 <td class="colFirst"><code>private org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionServerStartupResponse</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportForDuty--">reportForDuty</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i140" class="altColor">
+<tr id="i141" class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportProcedureDone-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportProcedureDoneRequest-">reportProcedureDone</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.ReportProcedureDoneRequest&nbsp;request)</code>&nbsp;</td>
 </tr>
-<tr id="i141" class="rowColor">
+<tr id="i142" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionSizesForQuotas-java.util.Map-">reportRegionSizesForQuotas</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;onlineRegionSizes)</code>
 <div class="block">Reports the given map of Regions and their size on the filesystem to the active Master.</div>
 </td>
 </tr>
-<tr id="i142" class="altColor">
+<tr id="i143" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#reportRegionStateTransition-org.apache.hadoop.hbase.regionserver.RegionServerServices.RegionStateTransitionContext-">reportRegionStateTransition</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.RegionStateTransitionContext</a>&nbsp;context)</code>
 <div class="block">Notify master that a handler requests to change a region state</div>
 </td>
 </tr>
-<tr id="i143" class="rowColor">
+<tr id="i144" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#run--">run</a></span>()</code>
 <div class="block">The HRegionServer sticks in this loop until closed.</div>
 </td>
 </tr>
-<tr id="i144" class="altColor">
+<tr id="i145" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#sendShutdownInterrupt--">sendShutdownInterrupt</a></span>()</code>
 <div class="block">Called on stop/abort before closing the cluster connection and meta locator.</div>
 </td>
 </tr>
-<tr id="i145" class="rowColor">
+<tr id="i146" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#setupClusterConnection--">setupClusterConnection</a></span>()</code>
 <div class="block">Setup our cluster connection if not already initialized.</div>
 </td>
 </tr>
-<tr id="i146" class="altColor">
+<tr id="i147" class="rowColor">
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/util/NettyEventLoopGroupConfig.html" title="class in org.apache.hadoop.hbase.util">NettyEventLoopGroupConfig</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#setupNetty-org.apache.hadoop.conf.Configuration-">setupNetty</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr id="i147" class="rowColor">
+<tr id="i148" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#setupWALAndReplication--">setupWALAndReplication</a></span>()</code>
 <div class="block">Setup WAL log and replication if enabled.</div>
 </td>
 </tr>
-<tr id="i148" class="altColor">
+<tr id="i149" class="rowColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#setupWindows-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.conf.ConfigurationManager-">setupWindows</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
             <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&nbsp;cm)</code>
 <div class="block">If running on Windows, do windows-specific setup.</div>
 </td>
 </tr>
-<tr id="i149" class="rowColor">
+<tr id="i150" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#shutdownWAL-boolean-">shutdownWAL</a></span>(boolean&nbsp;close)</code>&nbsp;</td>
 </tr>
-<tr id="i150" class="altColor">
+<tr id="i151" class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#sleep-long-">sleep</a></span>(long&nbsp;millis)</code>&nbsp;</td>
 </tr>
-<tr id="i151" class="rowColor">
+<tr id="i152" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#startHeapMemoryManager--">startHeapMemoryManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i152" class="altColor">
+<tr id="i153" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#startReplicationService--">startReplicationService</a></span>()</code>
 <div class="block">Start up replication source and sink handlers.</div>
 </td>
 </tr>
-<tr id="i153" class="rowColor">
+<tr id="i154" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#startServices--">startServices</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i154" class="altColor">
+<tr id="i155" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#stop-java.lang.String-">stop</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>
 <div class="block">Stop this service.</div>
 </td>
 </tr>
-<tr id="i155" class="rowColor">
+<tr id="i156" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#stop-java.lang.String-boolean-org.apache.hadoop.hbase.security.User-">stop</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
     boolean&nbsp;force,
@@ -1409,61 +1419,61 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <div class="block">Stops the regionserver.</div>
 </td>
 </tr>
-<tr id="i156" class="altColor">
+<tr id="i157" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#stopServiceThreads--">stopServiceThreads</a></span>()</code>
 <div class="block">Wait on all threads to finish.</div>
 </td>
 </tr>
-<tr id="i157" class="rowColor">
+<tr id="i158" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i158" class="altColor">
+<tr id="i159" class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#triggerFlushInPrimaryRegion-org.apache.hadoop.hbase.regionserver.HRegion-">triggerFlushInPrimaryRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region)</code>
 <div class="block">Trigger a flush in the primary region replica if this region is a secondary replica.</div>
 </td>
 </tr>
-<tr id="i159" class="rowColor">
+<tr id="i160" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#tryRegionServerReport-long-long-">tryRegionServerReport</a></span>(long&nbsp;reportStartTime,
                      long&nbsp;reportEndTime)</code>&nbsp;</td>
 </tr>
-<tr id="i160" class="altColor">
+<tr id="i161" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#unassign-byte:A-">unassign</a></span>(byte[]&nbsp;regionName)</code>
 <div class="block">Unassign the given region from the current regionserver and assign it randomly.</div>
 </td>
 </tr>
-<tr id="i161" class="rowColor">
+<tr id="i162" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#updateConfiguration--">updateConfiguration</a></span>()</code>
 <div class="block">Reload the configuration from disk.</div>
 </td>
 </tr>
-<tr id="i162" class="altColor">
+<tr id="i163" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#updateRegionFavoredNodesMapping-java.lang.String-java.util.List-">updateRegionFavoredNodesMapping</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName,
                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ServerName&gt;&nbsp;favoredNodes)</code>
 <div class="block">Used to update the favored nodes mapping when required.</div>
 </td>
 </tr>
-<tr id="i163" class="rowColor">
+<tr id="i164" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#waitForMasterActive--">waitForMasterActive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i164" class="altColor">
+<tr id="i165" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#waitForServerOnline--">waitForServerOnline</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i165" class="rowColor">
+<tr id="i166" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#waitOnAllRegionsToClose-boolean-">waitOnAllRegionsToClose</a></span>(boolean&nbsp;abort)</code>
 <div class="block">Wait on regions close.</div>
 </td>
 </tr>
-<tr id="i166" class="altColor">
+<tr id="i167" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#walRollRequestFinished--">walRollRequestFinished</a></span>()</code>
 <div class="block">For testing</div>
@@ -2390,7 +2400,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>movedRegions</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3420">movedRegions</a></pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3390">movedRegions</a></pre>
 </li>
 </ul>
 <a name="TIMEOUT_REGION_MOVED">
@@ -2399,7 +2409,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TIMEOUT_REGION_MOVED</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3424">TIMEOUT_REGION_MOVED</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3394">TIMEOUT_REGION_MOVED</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.TIMEOUT_REGION_MOVED">Constant Field Values</a></dd>
@@ -3032,10 +3042,10 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>setupWALAndReplication</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1789">setupWALAndReplication</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1787">setupWALAndReplication</a>()
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Setup WAL log and replication if enabled.
- Replication setup is done in here because it wants to be hooked up to WAL.</div>
+<div class="block">Setup WAL log and replication if enabled. Replication setup is done in here because it wants to
+ be hooked up to WAL.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
@@ -3048,7 +3058,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>startReplicationService</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1836">startReplicationService</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1810">startReplicationService</a>()
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Start up replication source and sink handlers.</div>
 <dl>
@@ -3063,7 +3073,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1851">getRegionServerMetrics</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1825">getRegionServerMetrics</a>()</pre>
 </li>
 </ul>
 <a name="getMasterAddressTracker--">
@@ -3072,7 +3082,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterAddressTracker</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">MasterAddressTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1858">getMasterAddressTracker</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">MasterAddressTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1832">getMasterAddressTracker</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Master address tracker instance.</dd>
@@ -3085,7 +3095,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>startServices</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1876">startServices</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1850">startServices</a>()
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3099,7 +3109,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeThreads</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1977">initializeThreads</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1951">initializeThreads</a>()
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3113,7 +3123,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>registerConfigurationObservers</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2024">registerConfigurationObservers</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.1998">registerConfigurationObservers</a>()</pre>
 </li>
 </ul>
 <a name="putUpWebUI--">
@@ -3122,7 +3132,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>putUpWebUI</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2036">putUpWebUI</a>()
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2010">putUpWebUI</a>()
                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Puts up the webui.</div>
 <dl>
@@ -3139,7 +3149,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>isHealthy</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2090">isHealthy</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2064">isHealthy</a>()</pre>
 </li>
 </ul>
 <a name="getWALs--">
@@ -3148,7 +3158,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALs</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2108">getWALs</a>()
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2082">getWALs</a>()
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -3167,7 +3177,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getWAL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2113">getWAL</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;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2087">getWAL</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -3186,7 +3196,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getWalRoller</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/LogRoller.html" title="class in org.apache.hadoop.hbase.regionserver">LogRoller</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2121">getWalRoller</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/LogRoller.html" title="class in org.apache.hadoop.hbase.regionserver">LogRoller</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2095">getWalRoller</a>()</pre>
 </li>
 </ul>
 <a name="getConnection--">
@@ -3195,7 +3205,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getConnection</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2126">getConnection</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2100">getConnection</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getConnection--">Server</a></code></span></div>
 <div class="block">Returns a reference to the servers' connection.
 
@@ -3213,7 +3223,7 @@ protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/ja
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterConnection</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2131">getClusterConnection</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2105">getClusterConnection</a>()</pre>
 <div class="block"><span class="descfr

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html
index d9bb29e..c60f3c4 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html#line.124">ReplicationSyncUp.DummyServer</a>
+<pre>static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.html#line.125">ReplicationSyncUp.DummyServer</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></pre>
 </li>
@@ -289,7 +289,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>hostname</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.125">hostname</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.126">hostname</a></pre>
 </li>
 </ul>
 <a name="zkw">
@@ -298,7 +298,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockListLast">
 <li class="blockList">
 <h4>zkw</h4>
-<pre><a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.126">zkw</a></pre>
+<pre><a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.127">zkw</a></pre>
 </li>
 </ul>
 </li>
@@ -315,7 +315,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>DummyServer</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.128">DummyServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)</pre>
+<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.129">DummyServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;zkw)</pre>
 </li>
 </ul>
 <a name="DummyServer-java.lang.String-">
@@ -324,7 +324,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DummyServer</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.134">DummyServer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostname)</pre>
+<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.135">DummyServer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostname)</pre>
 </li>
 </ul>
 </li>
@@ -341,7 +341,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfiguration</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.139">getConfiguration</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.140">getConfiguration</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Server.html#getConfiguration--">Server</a></code></span></div>
 <div class="block">Gets the configuration object for this server.</div>
 <dl>
@@ -356,7 +356,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>getZooKeeper</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.144">getZooKeeper</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.145">getZooKeeper</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Server.html#getZooKeeper--">Server</a></code></span></div>
 <div class="block">Gets the ZooKeeper instance for this server.</div>
 <dl>
@@ -371,7 +371,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>getCoordinatedStateManager</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/CoordinatedStateManager.html" title="interface in org.apache.hadoop.hbase">CoordinatedStateManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.149">getCoordinatedStateManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/CoordinatedStateManager.html" title="interface in org.apache.hadoop.hbase">CoordinatedStateManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.150">getCoordinatedStateManager</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Server.html#getCoordinatedStateManager--">Server</a></code></span></div>
 <div class="block">Get CoordinatedStateManager instance for this server.</div>
 <dl>
@@ -386,7 +386,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetaTableLocator</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper">MetaTableLocator</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.154">getMetaTableLocator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper">MetaTableLocator</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.155">getMetaTableLocator</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Server.html#getMetaTableLocator--">Server</a></code></span></div>
 <div class="block">Returns instance of <a href="../../../../../../org/apache/hadoop/hbase/zookeeper/MetaTableLocator.html" title="class in org.apache.hadoop.hbase.zookeeper"><code>MetaTableLocator</code></a>
  running inside this server. This MetaServerLocator is started and stopped by server, clients
@@ -405,7 +405,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerName</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.159">getServerName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.160">getServerName</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/Server.html#getServerName--">getServerName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></code></dd>
@@ -420,7 +420,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.164">abort</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.165">abort</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Abortable.html#abort-java.lang.String-java.lang.Throwable-">Abortable</a></code></span></div>
 <div class="block">Abort the server or client.</div>
@@ -439,7 +439,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>isAborted</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.168">isAborted</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.169">isAborted</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Abortable.html#isAborted--">Abortable</a></code></span></div>
 <div class="block">Check if the server or client was aborted.</div>
 <dl>
@@ -456,7 +456,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.173">stop</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.174">stop</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html#stop-java.lang.String-">Stoppable</a></code></span></div>
 <div class="block">Stop this service.
  Implementers should favor logging errors over throwing RuntimeExceptions.</div>
@@ -474,7 +474,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>isStopped</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.177">isStopped</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.178">isStopped</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html#isStopped--">isStopped</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a></code></dd>
@@ -489,7 +489,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>getConnection</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.182">getConnection</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.183">getConnection</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Server.html#getConnection--">Server</a></code></span></div>
 <div class="block">Returns a reference to the servers' connection.
 
@@ -507,7 +507,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>getChoreService</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.187">getChoreService</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.188">getChoreService</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/Server.html#getChoreService--">getChoreService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></code></dd>
@@ -522,7 +522,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterConnection</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.192">getClusterConnection</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.193">getClusterConnection</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Server.html#getClusterConnection--">Server</a></code></span></div>
 <div class="block">Returns a reference to the servers' cluster connection. Prefer <a href="../../../../../../org/apache/hadoop/hbase/Server.html#getConnection--"><code>Server.getConnection()</code></a>.
 
@@ -540,7 +540,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <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/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.198">getFileSystem</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.199">getFileSystem</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/Server.html#getFileSystem--">getFileSystem</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></code></dd>
@@ -555,7 +555,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>isStopping</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.203">isStopping</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.204">isStopping</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/Server.html#isStopping--">isStopping</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></code></dd>
@@ -570,7 +570,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Server.html" title
 <ul class="blockListLast">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.208">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.DummyServer.html#line.209">createConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html
index bec545c..01794c2 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html
@@ -105,7 +105,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AsyncFSWAL</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html" title="class in org.apache.hadoop.hbase.wal">DisabledWALProvider.DisabledWAL</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></dd>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AsyncFSWAL</a>, <a href="../../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html" title="class in org.apache.hadoop.hbase.wal">DisabledWALProvider.DisabledWAL</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog</a></dd>
 </dl>
 <dl>
 <dt>Functional Interface:</dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/Replication.ReplicationStatisticsTask.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/Replication.ReplicationStatisticsTask.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/Replication.ReplicationStatisticsTask.html
new file mode 100644
index 0000000..ee8c66a
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/Replication.ReplicationStatisticsTask.html
@@ -0,0 +1,125 @@
+<!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.Replication.ReplicationStatisticsTask (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.Replication.ReplicationStatisticsTask (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/Replication.ReplicationStatisticsTask.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/Replication.ReplicationStatisticsTask.html" target="_top">Frames</a></li>
+<li><a href="Replication.ReplicationStatisticsTask.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.Replication.ReplicationStatisticsTask" class="title">Uses of Class<br>org.apache.hadoop.hbase.replication.regionserver.Replication.ReplicationStatisticsTask</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.replication.regionserver.Replication.ReplicationStatisticsTask</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/Replication.ReplicationStatisticsTask.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/Replication.ReplicationStatisticsTask.html" target="_top">Frames</a></li>
+<li><a href="Replication.ReplicationStatisticsTask.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/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/Replication.ReplicationStatisticsThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/Replication.ReplicationStatisticsThread.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/Replication.ReplicationStatisticsThread.html
deleted file mode 100644
index 3b0cfd9..0000000
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/Replication.ReplicationStatisticsThread.html
+++ /dev/null
@@ -1,125 +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.Replication.ReplicationStatisticsThread (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.Replication.ReplicationStatisticsThread (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/Replication.ReplicationStatisticsThread.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/Replication.ReplicationStatisticsThread.html" target="_top">Frames</a></li>
-<li><a href="Replication.ReplicationStatisticsThread.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.Replication.ReplicationStatisticsThread" class="title">Uses of Class<br>org.apache.hadoop.hbase.replication.regionserver.Replication.ReplicationStatisticsThread</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.hadoop.hbase.replication.regionserver.Replication.ReplicationStatisticsThread</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/Replication.ReplicationStatisticsThread.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/Replication.ReplicationStatisticsThread.html" target="_top">Frames</a></li>
-<li><a href="Replication.ReplicationStatisticsThread.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/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSink.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSink.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSink.html
index 1afd466..6415e9f 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSink.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSink.html
@@ -108,7 +108,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Replication.ReplicationStatisticsThread.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#replicationSink">replicationSink</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Replication.ReplicationStatisticsTask.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#replicationSink">replicationSink</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -119,8 +119,8 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#ReplicationStatisticsThread-org.apache.hadoop.hbase.replication.regionserver.ReplicationSink-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">ReplicationStatisticsThread</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a>&nbsp;replicationSink,
-                           <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationManager)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#ReplicationStatisticsTask-org.apache.hadoop.hbase.replication.regionserver.ReplicationSink-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">ReplicationStatisticsTask</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a>&nbsp;replicationSink,
+                         <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationManager)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceManager.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceManager.html
index 92434f3..165ec16 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/ReplicationSourceManager.html
@@ -112,7 +112,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private <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"><span class="typeNameLabel">Replication.ReplicationStatisticsThread.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#replicationManager">replicationManager</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Replication.ReplicationStatisticsTask.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#replicationManager">replicationManager</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a></code></td>
@@ -193,15 +193,6 @@
 <div class="block">Initializer for the source</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">Replication.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">scopeWALEdits</a></span>(<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,
-             <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationManager)</code>
-<div class="block">Utility method used to set the correct scopes on each log key.</div>
-</td>
-</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -214,8 +205,8 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandlerImpl.html#PeerProcedureHandlerImpl-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">PeerProcedureHandlerImpl</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationSourceManager)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#ReplicationStatisticsThread-org.apache.hadoop.hbase.replication.regionserver.ReplicationSink-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">ReplicationStatisticsThread</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a>&nbsp;replicationSink,
-                           <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationManager)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#ReplicationStatisticsTask-org.apache.hadoop.hbase.replication.regionserver.ReplicationSink-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">ReplicationStatisticsTask</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a>&nbsp;replicationSink,
+                         <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationManager)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALFileLengthProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALFileLengthProvider.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALFileLengthProvider.html
index 82f4443..66ead31 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALFileLengthProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/class-use/WALFileLengthProvider.html
@@ -83,18 +83,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver.wal">org.apache.hadoop.hbase.regionserver.wal</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<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>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.wal">org.apache.hadoop.hbase.wal</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -103,30 +99,6 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.regionserver">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a> in <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.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/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</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>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationService.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">initialize</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;rs,
-          org.apache.hadoop.fs.FileSystem&nbsp;fs,
-          org.apache.hadoop.fs.Path&nbsp;logdir,
-          org.apache.hadoop.fs.Path&nbsp;oldLogDir,
-          <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a>&nbsp;walFileLengthProvider)</code>
-<div class="block">Initializes the replication service object.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.regionserver.wal">
 <!--   -->
 </a>
@@ -251,14 +223,6 @@
 <div class="block">Initializer for the source</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Replication.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">initialize</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
-          org.apache.hadoop.fs.FileSystem&nbsp;fs,
-          org.apache.hadoop.fs.Path&nbsp;logDir,
-          org.apache.hadoop.fs.Path&nbsp;oldLogDir,
-          <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a>&nbsp;walFileLengthProvider)</code>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -325,11 +289,18 @@
 <td class="colFirst"><code>private static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html" title="class in org.apache.hadoop.hbase.wal">DisabledWALProvider.DisabledWAL</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></span></code>
-<div class="block">Entry point for users of the Write Ahead Log.</div>
-</td>
+</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/wal/package-summary.html">org.apache.hadoop.hbase.wal</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</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>default <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"><span class="typeNameLabel">WALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWALFileLengthProvider--">getWALFileLengthProvider</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 d3f5422..c3d991c 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-frame.html
@@ -51,7 +51,7 @@
 <li><a href="RegionReplicaReplicationEndpoint.RegionReplicaSinkWriter.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">RegionReplicaReplicationEndpoint.RegionReplicaSinkWriter</a></li>
 <li><a href="RegionReplicaReplicationEndpoint.RetryingRpcCallable.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">RegionReplicaReplicationEndpoint.RetryingRpcCallable</a></li>
 <li><a href="Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">Replication</a></li>
-<li><a href="Replication.ReplicationStatisticsThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">Replication.ReplicationStatisticsThread</a></li>
+<li><a href="Replication.ReplicationStatisticsTask.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">Replication.ReplicationStatisticsTask</a></li>
 <li><a href="ReplicationLoad.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationLoad</a></li>
 <li><a href="ReplicationObserver.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationObserver</a></li>
 <li><a href="ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">ReplicationSink</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 d1b2c5e..f7e7d3f 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-summary.html
@@ -283,8 +283,10 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsThread</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsTask</a></td>
+<td class="colLast">
+<div class="block">Statistics task.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationLoad</a></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 dc4ae28..3b4504f 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
@@ -127,7 +127,8 @@
 </ul>
 </li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.RetryingRpcCallable.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">RegionReplicaReplicationEndpoint.RetryingRpcCallable</span></a>&lt;V&gt; (implements java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;)</li>
-<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Replication</span></a> (implements org.apache.hadoop.hbase.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a>, org.apache.hadoop.hbase.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a>, 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/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Replication</span></a> (implements org.apache.hadoop.hbase.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a>, org.apache.hadoop.hbase.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Replication.ReplicationStatisticsTask</span></a> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationLoad</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationObserver.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationObserver</span></a> (implements org.apache.hadoop.hbase.coprocessor.<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessor.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessor</a>, org.apache.hadoop.hbase.coprocessor.<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionObserver</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSink</span></a></li>
@@ -146,7 +147,6 @@
 <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">java.lang.<a href="http://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="http://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/Replication.ReplicationStatisticsThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Replication.ReplicationStatisticsThread</span></a></li>
 <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>
 <li type="circle">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"><span class="typeNameLink">ReplicationSourceShipper</span></a>
 <ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 02c3221..ff6fae9 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-use.html
@@ -126,11 +126,6 @@
 <div class="block">This class is used for exporting some of the info from replication metrics</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/class-use/WALFileLengthProvider.html#org.apache.hadoop.hbase.regionserver">WALFileLengthProvider</a>
-<div class="block">Used by replication to prevent replicating unacked log entries.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 aa48864..637abe9 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -137,8 +137,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/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/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessControlFilter.Strategy</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 2539fbd..acf9832 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -191,9 +191,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslUtil.QualityOfProtection</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/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/1f2eeb22/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
index e924839..7c93b07 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -199,8 +199,8 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftServerRunner.ImplType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftMetrics.ThriftServerType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftMetrics.ThriftServerType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html b/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html
index 2eb3791..6b1b393 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html
@@ -107,7 +107,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.811">CommonFSUtils.StreamCapabilities</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.817">CommonFSUtils.StreamCapabilities</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -194,7 +194,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>PRESENT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html#line.812">PRESENT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html#line.818">PRESENT</a></pre>
 </li>
 </ul>
 <a name="CLASS">
@@ -203,7 +203,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>CLASS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html#line.813">CLASS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html#line.819">CLASS</a></pre>
 </li>
 </ul>
 <a name="METHOD">
@@ -212,7 +212,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>METHOD</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html#line.814">METHOD</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html#line.820">METHOD</a></pre>
 </li>
 </ul>
 </li>
@@ -229,7 +229,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>StreamCapabilities</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html#line.811">StreamCapabilities</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html#line.817">StreamCapabilities</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.StreamLacksCapabilityException.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.StreamLacksCapabilityException.html b/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.StreamLacksCapabilityException.html
index a5332d6..588f9c4 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.StreamLacksCapabilityException.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.StreamLacksCapabilityException.html
@@ -121,7 +121,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.883">CommonFSUtils.StreamLacksCapabilityException</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.889">CommonFSUtils.StreamLacksCapabilityException</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Helper exception for those cases where the place where we need to check a stream capability
  is not where we have the needed context to explain the impact and mitigation for a lack.</div>
@@ -196,7 +196,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>StreamLacksCapabilityException</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.StreamLacksCapabilityException.html#line.884">StreamLacksCapabilityException</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.StreamLacksCapabilityException.html#line.890">StreamLacksCapabilityException</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message,
                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;cause)</pre>
 </li>
 </ul>
@@ -206,7 +206,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>StreamLacksCapabilityException</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.StreamLacksCapabilityException.html#line.887">StreamLacksCapabilityException</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.StreamLacksCapabilityException.html#line.893">StreamLacksCapabilityException</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
 </li>
 </ul>
 </li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 ca0e581..7eb86ac 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -535,14 +535,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/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/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/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
-<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/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/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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html b/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html
index c08dcaa..e1d8b82 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":6,"i2":6,"i3":9,"i4":9,"i5":9,"i6":10,"i7":9,"i8":10,"i9":9,"i10":9,"i11":9,"i12":10,"i13":9,"i14":9,"i15":9,"i16":10,"i17":10,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":10,"i25":9};
+var methods = {"i0":10,"i1":10,"i2":6,"i3":6,"i4":9,"i5":9,"i6":9,"i7":10,"i8":9,"i9":10,"i10":9,"i11":9,"i12":9,"i13":10,"i14":9,"i15":9,"i16":9,"i17":10,"i18":10,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":10,"i26":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";
@@ -283,71 +283,77 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>
+<div class="block">Add a <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal"><code>WALActionsListener</code></a>.</div>
+</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/AbstractFSWALProvider.html#close--">close</a></span>()</code>
 <div class="block">shutdown utstanding WALs and clean up any persisted state.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>protected abstract <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="type parameter in AbstractFSWALProvider">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#createWAL--">createWAL</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>protected abstract void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#doInit-org.apache.hadoop.conf.Configuration-">doInit</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#extractFileNumFromWAL-org.apache.hadoop.hbase.wal.WAL-">extractFileNumFromWAL</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
 <div class="block">It returns the file create timestamp from the file name.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <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/wal/AbstractFSWALProvider.html#getArchivedLogPath-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">getArchivedLogPath</a></span>(org.apache.hadoop.fs.Path&nbsp;path,
                   org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
 <div class="block">Get the archived WAL file path</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" 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/wal/AbstractFSWALProvider.html#getCurrentFileName-org.apache.hadoop.hbase.wal.WAL-">getCurrentFileName</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
 <div class="block">return the current filename from the current wal.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize--">getLogFileSize</a></span>()</code>
 <div class="block">iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the
  size of files (only rolled).</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize-org.apache.hadoop.hbase.wal.WAL-">getLogFileSize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
 <div class="block">returns the size of rolled WAL files.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumLogFiles--">getNumLogFiles</a></span>()</code>
 <div class="block">iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the
  number of files (rolled and active).</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumRolledLogFiles-org.apache.hadoop.hbase.wal.WAL-">getNumRolledLogFiles</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
 <div class="block">returns the number of rolled WAL files.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" 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/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getServerNameFromWALDirectoryName</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</code>
 <div class="block">Pulls a ServerName out of a Path generated according to our layout rules.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <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/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.fs.Path-">getServerNameFromWALDirectoryName</a></span>(org.apache.hadoop.fs.Path&nbsp;logFile)</code>
 <div class="block">This function returns region server name from a log file name which is in one of the following
@@ -358,81 +364,79 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
  </div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="type parameter in AbstractFSWALProvider">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</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="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALArchiveDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getWALArchiveDirectoryName</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverName)</code>
 <div class="block">Construct the directory name for all old WALs on a given server.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALDirectoryName-java.lang.String-">getWALDirectoryName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverName)</code>
 <div class="block">Construct the directory name for all WALs on a given server.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALPrefixFromWALName-java.lang.String-">getWALPrefixFromWALName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get prefix of the log from its name, assuming WAL name in format of
  log_prefix.filenumber.log_suffix</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALs--">getWALs</a></span>()</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/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
     org.apache.hadoop.conf.Configuration&nbsp;conf,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>
 <div class="block">Set up the provider to create wals.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isArchivedLogFile-org.apache.hadoop.fs.Path-">isArchivedLogFile</a></span>(org.apache.hadoop.fs.Path&nbsp;p)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-org.apache.hadoop.fs.Path-">isMetaFile</a></span>(org.apache.hadoop.fs.Path&nbsp;p)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-java.lang.String-">isMetaFile</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#openReader-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">openReader</a></span>(org.apache.hadoop.fs.Path&nbsp;path,
           org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
-<div class="block">Opens WAL reader with retries and
- additional exception handling</div>
+<div class="block">Opens WAL reader with retries and additional exception handling</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.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="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>(package private) static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#requestLogRoll-org.apache.hadoop.hbase.wal.WAL-">requestLogRoll</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
 <div class="block">request a log roll, but don't actually do it.</div>
 </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/AbstractFSWALProvider.html#shutdown--">shutdown</a></span>()</code>
 <div class="block">persist outstanding WALs to storage and stop accepting new appends.</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-">validateWALFilename</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename)</code>
 <div class="block">A WAL file name is of the format: &lt;wal-name&gt;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#WAL_FILE_NAME_DELIMITER"><code>WAL_FILE_NAME_DELIMITER</code></a>
@@ -447,6 +451,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://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="http://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="http://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.wal.WALProvider">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWALFileLengthProvider--">getWALFileLengthProvider</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -576,7 +587,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>WAL_FILE_NAME_DELIMITER</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.222">WAL_FILE_NAME_DELIMITER</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.219">WAL_FILE_NAME_DELIMITER</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.wal.AbstractFSWALProvider.WAL_FILE_NAME_DELIMITER">Constant Field Values</a></dd>
@@ -589,7 +600,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>META_WAL_PROVIDER_ID</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.225">META_WAL_PROVIDER_ID</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.222">META_WAL_PROVIDER_ID</a></pre>
 <div class="block">The hbase:meta region's WAL filename extension</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -603,7 +614,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_PROVIDER_ID</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.226">DEFAULT_PROVIDER_ID</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.223">DEFAULT_PROVIDER_ID</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.wal.AbstractFSWALProvider.DEFAULT_PROVIDER_ID">Constant Field Values</a></dd>
@@ -616,7 +627,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SPLITTING_EXT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.230">SPLITTING_EXT</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.227">SPLITTING_EXT</a></pre>
 <div class="block">File Extension used while splitting an WAL into regions (HBASE-2312)</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -630,7 +641,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>pattern</h4>
-<pre>private static final&nbsp;<a href="http://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/wal/AbstractFSWALProvider.html#line.252">pattern</a></pre>
+<pre>private static final&nbsp;<a href="http://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/wal/AbstractFSWALProvider.html#line.249">pattern</a></pre>
 <div class="block">Pattern used to validate a WAL file name see <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-"><code>validateWALFilename(String)</code></a> for
  description.</div>
 </li>
@@ -660,27 +671,24 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">
+<a name="init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>init</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.100">init</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.99">init</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
                  org.apache.hadoop.conf.Configuration&nbsp;conf,
-                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)
           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">WALProvider</a></code></span></div>
-<div class="block">Set up the provider to create wals.
- will only be called once per instance.</div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">WALProvider</a></code></span></div>
+<div class="block">Set up the provider to create wals. will only be called once per instance.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>factory</code> - factory that made us, identity used for FS layout. may not be null</dd>
 <dd><code>conf</code> - may not be null</dd>
-<dd><code>listeners</code> - may be null</dd>
 <dd><code>providerId</code> - differentiate between providers from one factory, used for FS layout. may be
           null</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -694,7 +702,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALs</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.123">getWALs</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.120">getWALs</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWALs--">getWALs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
@@ -709,7 +717,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getWAL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="type parameter in AbstractFSWALProvider">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.133">getWAL</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;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="type parameter in AbstractFSWALProvider">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.130">getWAL</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -729,7 +737,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>createWAL</h4>
-<pre>protected abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="type parameter in AbstractFSWALProvider">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.149">createWAL</a>()
+<pre>protected abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="type parameter in AbstractFSWALProvider">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.146">createWAL</a>()
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -743,7 +751,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>doInit</h4>
-<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.151">doInit</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.148">doInit</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -757,12 +765,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.154">shutdown</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.151">shutdown</a>()
               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#shutdown--">WALProvider</a></code></span></div>
-<div class="block">persist outstanding WALs to storage and stop accepting new appends.
- This method serves as shorthand for sending a sync to every WAL provided by a given
- implementation. Those WALs will also stop accepting new writes.</div>
+<div class="block">persist outstanding WALs to storage and stop accepting new appends. This method serves as
+ shorthand for sending a sync to every WAL provided by a given implementation. Those WALs will
+ also stop accepting new writes.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#shutdown--">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
@@ -777,12 +785,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.162">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.159">close</a>()
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#close--">WALProvider</a></code></span></div>
-<div class="block">shutdown utstanding WALs and clean up any persisted state.
- Call this method only when you will not need to replay any of the edits to the WALs from
- this provider. After this call completes, the underlying resources should have been reclaimed.</div>
+<div class="block">shutdown utstanding WALs and clean up any persisted state. Call this method only when you will
+ not need to replay any of the edits to the WALs from this provider. After this call completes,
+ the underlying resources should have been reclaimed.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#close--">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
@@ -797,7 +805,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumLogFiles</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.174">getNumLogFiles</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.171">getNumLogFiles</a>()</pre>
 <div class="block">iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the
  number of files (rolled and active). if either of them aren't, count 0 for that provider.</div>
 <dl>
@@ -812,7 +820,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogFileSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.184">getLogFileSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.181">getLogFileSize</a>()</pre>
 <div class="block">iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the
  size of files (only rolled). if either of them aren't, count 0 for that provider.</div>
 <dl>
@@ -827,7 +835,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumRolledLogFiles</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.193">getNumRolledLogFiles</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
+<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.190">getNumRolledLogFiles</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
 <div class="block">returns the number of rolled WAL files.</div>
 </li>
 </ul>
@@ -837,7 +845,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogFileSize</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.201">getLogFileSize</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
+<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.198">getLogFileSize</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
 <div class="block">returns the size of rolled WAL files.</div>
 </li>
 </ul>
@@ -847,7 +855,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentFileName</h4>
-<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.209">getCurrentFileName</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
+<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.206">getCurrentFileName</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
 <div class="block">return the current filename from the current wal.</div>
 </li>
 </ul>
@@ -857,7 +865,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>requestLogRoll</h4>
-<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.217">requestLogRoll</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
+<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.214">requestLogRoll</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
 <div class="block">request a log roll, but don't actually do it.</div>
 </li>
 </ul>
@@ -867,7 +875,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>extractFileNumFromWAL</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.239">extractFileNumFromWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
+<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.236">extractFileNumFromWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
 <div class="block">It returns the file create timestamp from the file name. For name format see
  <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-"><code>validateWALFilename(String)</code></a> public until remaining tests move to o.a.h.h.wal</div>
 <dl>
@@ -884,7 +892,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>validateWALFilename</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.262">validateWALFilename</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.259">validateWALFilename</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename)</pre>
 <div class="block">A WAL file name is of the format: &lt;wal-name&gt;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#WAL_FILE_NAME_DELIMITER"><code>WAL_FILE_NAME_DELIMITER</code></a>
  &lt;file-creation-timestamp&gt;[.meta]. provider-name is usually made up of a server-name and a
  provider-id</div>
@@ -902,9 +910,9 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALDirectoryName</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.273">getWALDirectoryName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverName)</pre>
-<div class="block">Construct the directory name for all WALs on a given server. Dir names currently look like
- this for WALs: <code>hbase//WALs/kalashnikov.att.net,61634,1486865297088</code>.</div>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.270">getWALDirectoryName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverName)</pre>
+<div class="block">Construct the directory name for all WALs on a given server. Dir names currently look like this
+ for WALs: <code>hbase//WALs/kalashnikov.att.net,61634,1486865297088</code>.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>serverName</code> - Server name formatted as described in <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase"><code>ServerName</code></a></dd>
@@ -920,11 +928,11 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALArchiveDirectoryName</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.288">getWALArchiveDirectoryName</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.285">getWALArchiveDirectoryName</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverName)</pre>
-<div class="block">Construct the directory name for all old WALs on a given server. The default old WALs dir
- looks like: <code>hbase/oldWALs</code>. If you config hbase.separate.oldlogdir.by.regionserver
- to true, it looks like <code>hbase//oldWALs/kalashnikov.att.net,61634,1486865297088</code>.</div>
+<div class="block">Construct the directory name for all old WALs on a given server. The default old WALs dir looks
+ like: <code>hbase/oldWALs</code>. If you config hbase.separate.oldlogdir.by.regionserver to
+ true, it looks like <code>hbase//oldWALs/kalashnikov.att.net,61634,1486865297088</code>.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>conf</code> - </dd>
@@ -940,7 +948,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerNameFromWALDirectoryName</h4>
-<pre>public 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/wal/AbstractFSWALProvider.html#line.306">getServerNameFromWALDirectoryName</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public 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/wal/AbstractFSWALProvider.html#line.303">getServerNameFromWALDirectoryName</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)
                                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Pulls a ServerName out of a Path generated according to our layout rules. In the below layouts,
@@ -963,7 +971,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerNameFromWALDirectoryName</h4>
-<pre>public 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/wal/AbstractFSWALProvider.html#line.363">getServerNameFromWALDirectoryName</a>(org.apache.hadoop.fs.Path&nbsp;logFile)</pre>
+<pre>public 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/wal/AbstractFSWALProvider.html#line.360">getServerNameFromWALDirectoryName</a>(org.apache.hadoop.fs.Path&nbsp;logFile)</pre>
 <div class="block">This function returns region server name from a log file name which is in one of the following
  formats:
  <ul>
@@ -982,7 +990,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>isMetaFile</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.386">isMetaFile</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.383">isMetaFile</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
 </li>
 </ul>
 <a name="isMetaFile-java.lang.String-">
@@ -991,7 +999,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>isMetaFile</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.390">isMetaFile</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.387">isMetaFile</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p)</pre>
 </li>
 </ul>
 <a name="isArchivedLogFile-org.apache.hadoop.fs.Path-">
@@ -1000,7 +1008,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>isArchivedLogFile</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.397">isArchivedLogFile</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.394">isArchivedLogFile</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
 </li>
 </ul>
 <a name="getArchivedLogPath-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">
@@ -1009,7 +1017,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getArchivedLogPath</h4>
-<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.409">getArchivedLogPath</a>(org.apache.hadoop.fs.Path&nbsp;path,
+<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.406">getArchivedLogPath</a>(org.apache.hadoop.fs.Path&nbsp;path,
                                                            org.apache.hadoop.conf.Configuration&nbsp;conf)
                                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get the archived WAL file path</div>
@@ -1030,11 +1038,10 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>openReader</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.441">openReader</a>(org.apache.hadoop.fs.Path&nbsp;path,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.436">openReader</a>(org.apache.hadoop.fs.Path&nbsp;path,
                                     org.apache.hadoop.conf.Configuration&nbsp;conf)
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Opens WAL reader with retries and
- additional exception handling</div>
+<div class="block">Opens WAL reader with retries and additional exception handling</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>path</code> - path to WAL file</dd>
@@ -1052,17 +1059,36 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>recoverLease</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.490">recoverLease</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.485">recoverLease</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                  org.apache.hadoop.fs.Path&nbsp;path)</pre>
 </li>
 </ul>
+<a name="addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addWALActionsListener</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.502">addWALActionsListener</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">WALProvider</a></code></span></div>
+<div class="block">Add a <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal"><code>WALActionsListener</code></a>.
+ <p>
+ Notice that you must call this method before calling <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-"><code>WALProvider.getWAL(RegionInfo)</code></a> as this method
+ will not effect the <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal"><code>WAL</code></a> which has already been created. And as long as we can only it
+ when initialization, it is not thread safe.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="getWALPrefixFromWALName-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getWALPrefixFromWALName</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.514">getWALPrefixFromWALName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.513">getWALPrefixFromWALName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Get prefix of the log from its name, assuming WAL name in format of
  log_prefix.filenumber.log_suffix</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/AsyncFSWALProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/AsyncFSWALProvider.html b/devapidocs/org/apache/hadoop/hbase/wal/AsyncFSWALProvider.html
index e32dc9b..03c1ec7 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/AsyncFSWALProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/AsyncFSWALProvider.html
@@ -250,7 +250,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvide
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#close--">close</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#extractFileNumFromWAL-org.apache.hadoop.hbase.wal.WAL-">extractFileNumFromWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getArchivedLogPath-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">getArchivedLogPath</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getCurrentFileName-org.apache.hadoop.hbase.wal.WAL-">getCurrentFileName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize--">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize-org.apache.hadoop.hbase.wal.WAL-">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumLogFiles--">getNumLogFiles</a>, <a hr
 ef="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumRolledLogFiles-org.apache.hadoop.hbase.wal.WAL-">getNumRolledLogFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.fs.Path-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALArchiveDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getWALArchiveDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALDirectoryName-java.lang.String-">
 getWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALPrefixFromWALName-java.lang.String-">getWALPrefixFromWALName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALs--">getWALs</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isArchivedLogFile-org.apache.hadoop.fs.Path-">isArchivedLogFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-org.apache.hadoop.fs.Path-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-java.lang.String-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#openReader-org.apache.hadoop
 .fs.Path-org.apache.hadoop.conf.Configuration-">openReader</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#requestLogRoll-org.apache.hadoop.hbase.wal.WAL-">requestLogRoll</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-">validateWALFilename</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#close--">close</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#extractFileNumFromWAL-org.apache.hadoop.hbase.wal.WAL-">extractFileNumFromWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getArchivedLogPath-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">getArchivedLogPath</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getCurrentFileName-org.apache.hadoop.hbase.wal.WAL-">getCurrentFileName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize--">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#g
 etLogFileSize-org.apache.hadoop.hbase.wal.WAL-">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumLogFiles--">getNumLogFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumRolledLogFiles-org.apache.hadoop.hbase.wal.WAL-">getNumRolledLogFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.fs.Path-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALArchiveDirectoryName-org.apache.hadoo
 p.conf.Configuration-java.lang.String-">getWALArchiveDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALDirectoryName-java.lang.String-">getWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALPrefixFromWALName-java.lang.String-">getWALPrefixFromWALName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALs--">getWALs</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isArchivedLogFile-org.apache.hadoop.fs.Path-">isArchivedLogFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-org.apache.hadoop.fs.Path-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/Abstr
 actFSWALProvider.html#isMetaFile-java.lang.String-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#openReader-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">openReader</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#requestLogRoll-org.apache.hadoop.hbase.wal.WAL-">requestLogRoll</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-">validateWALFilename</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -259,6 +259,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvide
 <h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://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="http://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="http://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.wal.WALProvider">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWALFileLengthProvider--">getWALFileLengthProvider</a></code></li>
+</ul>
 </li>
 </ul>
 </li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
index 4a87b9d..7515d7b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
@@ -25,3542 +25,3570 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.master;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import com.google.protobuf.Descriptors;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import com.google.protobuf.Service;<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.io.InterruptedIOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.lang.reflect.InvocationTargetException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.net.InetAddress;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.net.InetSocketAddress;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.net.UnknownHostException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.ArrayList;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Arrays;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Collection;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.Collections;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.Comparator;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.EnumSet;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.HashMap;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.Iterator;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.util.List;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.Map;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.Map.Entry;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.Objects;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.concurrent.ExecutionException;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.concurrent.Future;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.TimeUnit;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.TimeoutException;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.atomic.AtomicReference;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.function.Function;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.regex.Pattern;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.stream.Collectors;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import javax.servlet.ServletException;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import javax.servlet.http.HttpServlet;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import javax.servlet.http.HttpServletRequest;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import javax.servlet.http.HttpServletResponse;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.commons.lang3.StringUtils;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.conf.Configuration;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.fs.Path;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ClusterId;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ClusterMetrics;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.ClusterMetrics.Option;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.ClusterMetricsBuilder;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.CoordinatedStateException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.HConstants;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.InvalidFamilyOperationException;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.MasterNotRunningException;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.PleaseHoldException;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ReplicationPeerNotFoundException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ServerLoad;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.ServerMetricsBuilder;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ServerName;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.TableDescriptors;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.TableName;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.MasterSwitchType;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.client.Result;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.exceptions.MergeRegionException;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.executor.ExecutorType;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.favored.FavoredNodesManager;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.favored.FavoredNodesPromoter;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.http.InfoServer;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.log.HBaseMarkers;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.master.MasterRpcServices.BalanceSwitchMode;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.master.assignment.AssignmentManager;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.master.assignment.MergeTableRegionsProcedure;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.master.assignment.RegionStates;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.master.assignment.RegionStates.RegionStateNode;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.master.balancer.BalancerChore;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.master.balancer.ClusterStatusChore;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.master.balancer.LoadBalancerFactory;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.master.cleaner.HFileCleaner;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.master.cleaner.LogCleaner;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.master.cleaner.ReplicationMetaCleaner;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.master.locking.LockManager;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.master.normalizer.NormalizationPlan;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.master.normalizer.NormalizationPlan.PlanType;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizer;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizerChore;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizerFactory;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.master.procedure.CreateTableProcedure;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.master.procedure.DeleteTableProcedure;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.master.procedure.DisableTableProcedure;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.master.procedure.EnableTableProcedure;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureConstants;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.master.procedure.RecoverMetaProcedure;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.master.replication.AddPeerProcedure;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.master.replication.DisablePeerProcedure;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.master.replication.EnablePeerProcedure;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.master.replication.ModifyPeerProcedure;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.master.replication.RemovePeerProcedure;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.master.replication.ReplicationPeerManager;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.master.replication.UpdatePeerConfigProcedure;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.mob.MobConstants;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.procedure2.ProcedureEvent;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher.RemoteProcedure;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureException;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.quotas.MasterSpaceQuotaObserver;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.quotas.QuotaObserverChore;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.quotas.SnapshotQuotaObserverChore;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifier;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifierFactory;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.regionserver.DefaultStoreEngine;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.regionserver.RegionSplitPolicy;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.compactions.FIFOCompactionPolicy;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.replication.master.ReplicationPeerConfigUpgrader;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.replication.regionserver.Replication;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.trace.TraceUtil;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.ZKDataMigrator;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.zookeeper.LoadBalancerTracker;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.zookeeper.MasterMaintenanceModeTracker;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.zookeeper.RegionNormalizerTracker;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.zookeeper.ZKWatcher;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.zookeeper.ZNodePaths;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.zookeeper.KeeperException;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.eclipse.jetty.server.Server;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.eclipse.jetty.server.ServerConnector;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.eclipse.jetty.servlet.ServletHolder;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.eclipse.jetty.webapp.WebAppContext;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.slf4j.Logger;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.slf4j.LoggerFactory;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>import org.apache.hbase.thirdparty.com.google.common.collect.Maps;<a name="line.205"></a>
+<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.HConstants.HBASE_MASTER_LOGCLEANER_PLUGINS;<a name="line.20"></a>
+<span class="sourceLineNo">021</span><a name="line.21"></a>
+<span class="sourceLineNo">022</span>import com.google.protobuf.Descriptors;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.protobuf.Service;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.InterruptedIOException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.lang.reflect.Constructor;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.lang.reflect.InvocationTargetException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.net.InetAddress;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.net.InetSocketAddress;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.net.UnknownHostException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.ArrayList;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.Arrays;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Collection;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Collections;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.Comparator;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.EnumSet;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.HashMap;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.Iterator;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.List;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.Map;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.Map.Entry;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.Objects;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.Set;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ExecutionException;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.Future;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.TimeUnit;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.TimeoutException;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.atomic.AtomicReference;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.function.Function;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.regex.Pattern;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.stream.Collectors;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import javax.servlet.ServletException;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import javax.servlet.http.HttpServlet;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import javax.servlet.http.HttpServletRequest;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import javax.servlet.http.HttpServletResponse;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.commons.lang3.StringUtils;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.conf.Configuration;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.fs.Path;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.ClusterId;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.ClusterMetrics;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.ClusterMetrics.Option;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.ClusterMetricsBuilder;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.CoordinatedStateException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.HConstants;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.InvalidFamilyOperationException;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.MasterNotRunningException;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.PleaseHoldException;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.ReplicationPeerNotFoundException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ServerLoad;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.ServerMetricsBuilder;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.ServerName;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.TableDescriptors;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.TableName;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.client.MasterSwitchType;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.client.Result;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.exceptions.MergeRegionException;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.executor.ExecutorType;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.favored.FavoredNodesManager;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.favored.FavoredNodesPromoter;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.http.InfoServer;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.log.HBaseMarkers;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.master.MasterRpcServices.BalanceSwitchMode;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.master.assignment.AssignmentManager;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.master.assignment.MergeTableRegionsProcedure;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.master.assignment.RegionStates;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.master.assignment.RegionStates.RegionStateNode;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.master.balancer.BalancerChore;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.master.balancer.ClusterStatusChore;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.master.balancer.LoadBalancerFactory;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.master.cleaner.HFileCleaner;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.master.cleaner.LogCleaner;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.master.cleaner.ReplicationMetaCleaner;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.master.locking.LockManager;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.master.normalizer.NormalizationPlan;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.master.normalizer.NormalizationPlan.PlanType;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizer;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizerChore;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizerFactory;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.master.procedure.CreateTableProcedure;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.master.procedure.DeleteTableProcedure;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.master.procedure.DisableTableProcedure;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.master.procedure.EnableTableProcedure;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureConstants;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.master.procedure.RecoverMetaProcedure;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.master.replication.AddPeerProcedure;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.master.replication.DisablePeerProcedure;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.master.replication.EnablePeerProcedure;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.master.replication.ModifyPeerProcedure;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.master.replication.RemovePeerProcedure;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.master.replication.ReplicationPeerManager;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.master.replication.UpdatePeerConfigProcedure;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.mob.MobConstants;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.procedure2.ProcedureEvent;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher.RemoteProcedure;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureException;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.quotas.MasterSpaceQuotaObserver;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.quotas.QuotaObserverChore;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.quotas.SnapshotQuotaObserverChore;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifier;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifierFactory;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.DefaultStoreEngine;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.RegionSplitPolicy;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.compactions.FIFOCompactionPolicy;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.replication.ReplicationUtils;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.replication.master.ReplicationHFileCleaner;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.replication.master.ReplicationLogCleaner;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.replication.master.ReplicationPeerConfigUpgrader;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.trace.TraceUtil;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.util.ZKDataMigrator;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.zookeeper.LoadBalancerTracker;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.zookeeper.MasterMaintenanceModeTracker;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.zookeeper.RegionNormalizerTracker;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.zookeeper.ZKWatcher;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.zookeeper.ZNodePaths;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.zookeeper.KeeperException;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.eclipse.jetty.server.Server;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.eclipse.jetty.server.ServerConnector;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.eclipse.jetty.servlet.ServletHolder;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>import org.eclipse.jetty.webapp.WebAppContext;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>import org.slf4j.Logger;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>import org.slf4j.LoggerFactory;<a name="line.205"></a>
 <span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionServerInfo;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceViolationPolicy;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos;<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> * HMaster is the "master server" for HBase. An HBase cluster has one active<a name="line.216"></a>
-<span class="sourceLineNo">217</span> * master.  If many masters are started, all compete.  Whichever wins goes on to<a name="line.217"></a>
-<span class="sourceLineNo">218</span> * run the cluster.  All others park themselves in their constructor until<a name="line.218"></a>
-<span class="sourceLineNo">219</span> * master or cluster shutdown or until the active master loses its lease in<a name="line.219"></a>
-<span class="sourceLineNo">220</span> * zookeeper.  Thereafter, all running master jostle to take over master role.<a name="line.220"></a>
-<span class="sourceLineNo">221</span> *<a name="line.221"></a>
-<span class="sourceLineNo">222</span> * &lt;p&gt;The Master can be asked shutdown the cluster. See {@link #shutdown()}.  In<a name="line.222"></a>
-<span class="sourceLineNo">223</span> * this case it will tell all regionservers to go down and then wait on them<a name="line.223"></a>
-<span class="sourceLineNo">224</span> * all reporting in that they are down.  This master will then shut itself down.<a name="line.224"></a>
+<span class="sourceLineNo">207</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>import org.apache.hbase.thirdparty.com.google.common.collect.Maps;<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionServerInfo;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceViolationPolicy;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos;<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> * HMaster is the "master server" for HBase. An HBase cluster has one active<a name="line.220"></a>
+<span class="sourceLineNo">221</span> * master.  If many masters are started, all compete.  Whichever wins goes on to<a name="line.221"></a>
+<span class="sourceLineNo">222</span> * run the cluster.  All others park themselves in their constructor until<a name="line.222"></a>
+<span class="sourceLineNo">223</span> * master or cluster shutdown or until the active master loses its lease in<a name="line.223"></a>
+<span class="sourceLineNo">224</span> * zookeeper.  Thereafter, all running master jostle to take over master role.<a name="line.224"></a>
 <span class="sourceLineNo">225</span> *<a name="line.225"></a>
-<span class="sourceLineNo">226</span> * &lt;p&gt;You can also shutdown just this master.  Call {@link #stopMaster()}.<a name="line.226"></a>
-<span class="sourceLineNo">227</span> *<a name="line.227"></a>
-<span class="sourceLineNo">228</span> * @see org.apache.zookeeper.Watcher<a name="line.228"></a>
-<span class="sourceLineNo">229</span> */<a name="line.229"></a>
-<span class="sourceLineNo">230</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>@SuppressWarnings("deprecation")<a name="line.231"></a>
-<span class="sourceLineNo">232</span>public class HMaster extends HRegionServer implements MasterServices {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  private static Logger LOG = LoggerFactory.getLogger(HMaster.class.getName());<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>   * Protection against zombie master. Started once Master accepts active responsibility and<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * starts taking over responsibilities. Allows a finite time window before giving up ownership.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private static class InitializationMonitor extends HasThread {<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    /** The amount of time in milliseconds to sleep before checking initialization status. */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    public static final String TIMEOUT_KEY = "hbase.master.initializationmonitor.timeout";<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    public static final long TIMEOUT_DEFAULT = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>    /**<a name="line.244"></a>
-<span class="sourceLineNo">245</span>     * When timeout expired and initialization has not complete, call {@link System#exit(int)} when<a name="line.245"></a>
-<span class="sourceLineNo">246</span>     * true, do nothing otherwise.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>     */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public static final String HALT_KEY = "hbase.master.initializationmonitor.haltontimeout";<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    public static final boolean HALT_DEFAULT = false;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>    private final HMaster master;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    private final long timeout;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    private final boolean haltOnTimeout;<a name="line.253"></a>
+<span class="sourceLineNo">226</span> * &lt;p&gt;The Master can be asked shutdown the cluster. See {@link #shutdown()}.  In<a name="line.226"></a>
+<span class="sourceLineNo">227</span> * this case it will tell all regionservers to go down and then wait on them<a name="line.227"></a>
+<span class="sourceLineNo">228</span> * all reporting in that they are down.  This master will then shut itself down.<a name="line.228"></a>
+<span class="sourceLineNo">229</span> *<a name="line.229"></a>
+<span class="sourceLineNo">230</span> * &lt;p&gt;You can also shutdown just this master.  Call {@link #stopMaster()}.<a name="line.230"></a>
+<span class="sourceLineNo">231</span> *<a name="line.231"></a>
+<span class="sourceLineNo">232</span> * @see org.apache.zookeeper.Watcher<a name="line.232"></a>
+<span class="sourceLineNo">233</span> */<a name="line.233"></a>
+<span class="sourceLineNo">234</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.234"></a>
+<span class="sourceLineNo">235</span>@SuppressWarnings("deprecation")<a name="line.235"></a>
+<span class="sourceLineNo">236</span>public class HMaster extends HRegionServer implements MasterServices {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  private static Logger LOG = LoggerFactory.getLogger(HMaster.class.getName());<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>   * Protection against zombie master. Started once Master accepts active responsibility and<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * starts taking over responsibilities. Allows a finite time window before giving up ownership.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  private static class InitializationMonitor extends HasThread {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    /** The amount of time in milliseconds to sleep before checking initialization status. */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    public static final String TIMEOUT_KEY = "hbase.master.initializationmonitor.timeout";<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    public static final long TIMEOUT_DEFAULT = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>    /**<a name="line.248"></a>
+<span class="sourceLineNo">249</span>     * When timeout expired and initialization has not complete, call {@link System#exit(int)} when<a name="line.249"></a>
+<span class="sourceLineNo">250</span>     * true, do nothing otherwise.<a name="line.250"></a>
+<span class="sourceLineNo">251</span>     */<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    public static final String HALT_KEY = "hbase.master.initializationmonitor.haltontimeout";<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    public static final boolean HALT_DEFAULT = false;<a name="line.253"></a>
 <span class="sourceLineNo">254</span><a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /** Creates a Thread that monitors the {@link #isInitialized()} state. */<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    InitializationMonitor(HMaster master) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      super("MasterInitializationMonitor");<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      this.master = master;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.timeout = master.getConfiguration().getLong(TIMEOUT_KEY, TIMEOUT_DEFAULT);<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      this.haltOnTimeout = master.getConfiguration().getBoolean(HALT_KEY, HALT_DEFAULT);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      this.setDaemon(true);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>    @Override<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    public void run() {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      try {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        while (!master.isStopped() &amp;&amp; master.isActiveMaster()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          Thread.sleep(timeout);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>          if (master.isInitialized()) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>            LOG.debug("Initialization completed within allotted tolerance. Monitor exiting.");<a name="line.270"></a>
-<span class="sourceLineNo">271</span>          } else {<a name="line.271"></a>
-<span class="sourceLineNo">272</span>            LOG.error("Master failed to complete initialization after " + timeout + "ms. Please"<a name="line.272"></a>
-<span class="sourceLineNo">273</span>                + " consider submitting a bug report including a thread dump of this process.");<a name="line.273"></a>
-<span class="sourceLineNo">274</span>            if (haltOnTimeout) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>              LOG.error("Zombie Master exiting. Thread dump to stdout");<a name="line.275"></a>
-<span class="sourceLineNo">276</span>              Threads.printThreadInfo(System.out, "Zombie HMaster");<a name="line.276"></a>
-<span class="sourceLineNo">277</span>              System.exit(-1);<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>      } catch (InterruptedException ie) {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        LOG.trace("InitMonitor thread interrupted. Existing.");<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>  }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  //instance into web context.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public static final String MASTER = "master";<a name="line.289"></a>
+<span class="sourceLineNo">255</span>    private final HMaster master;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    private final long timeout;<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    private final boolean haltOnTimeout;<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>    /** Creates a Thread that monitors the {@link #isInitialized()} state. */<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    InitializationMonitor(HMaster master) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      super("MasterInitializationMonitor");<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      this.master = master;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      this.timeout = master.getConfiguration().getLong(TIMEOUT_KEY, TIMEOUT_DEFAULT);<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      this.haltOnTimeout = master.getConfiguration().getBoolean(HALT_KEY, HALT_DEFAULT);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      this.setDaemon(true);<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>    @Override<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    public void run() {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      try {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>        while (!master.isStopped() &amp;&amp; master.isActiveMaster()) {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>          Thread.sleep(timeout);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>          if (master.isInitialized()) {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>            LOG.debug("Initialization completed within allotted tolerance. Monitor exiting.");<a name="line.274"></a>
+<span class="sourceLineNo">275</span>          } else {<a name="line.275"></a>
+<span class="sourceLineNo">276</span>            LOG.error("Master failed to complete initialization after " + timeout + "ms. Please"<a name="line.276"></a>
+<span class="sourceLineNo">277</span>                + " consider submitting a bug report including a thread dump of this process.");<a name="line.277"></a>
+<span class="sourceLineNo">278</span>            if (haltOnTimeout) {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>              LOG.error("Zombie Master exiting. Thread dump to stdout");<a name="line.279"></a>
+<span class="sourceLineNo">280</span>              Threads.printThreadInfo(System.out, "Zombie HMaster");<a name="line.280"></a>
+<span class="sourceLineNo">281</span>              System.exit(-1);<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>      } catch (InterruptedException ie) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        LOG.trace("InitMonitor thread interrupted. Existing.");<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><a name="line.290"></a>
-<span class="sourceLineNo">291</span>  // Manager and zk listener for master election<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  private final ActiveMasterManager activeMasterManager;<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  // Region server tracker<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  RegionServerTracker regionServerTracker;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  // Draining region server tracker<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  private DrainingServerTracker drainingServerTracker;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  // Tracker for load balancer state<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  LoadBalancerTracker loadBalancerTracker;<a name="line.298"></a>
-<span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>  // Tracker for split and merge state<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private SplitOrMergeTracker splitOrMergeTracker;<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  // Tracker for region normalizer state<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private RegionNormalizerTracker regionNormalizerTracker;<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  //Tracker for master maintenance mode setting<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  private MasterMaintenanceModeTracker maintenanceModeTracker;<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span>  private ClusterSchemaService clusterSchemaService;<a name="line.309"></a>
-<span class="sourceLineNo">310</span><a name="line.310"></a>
-<span class="sourceLineNo">311</span>  public static final String HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS =<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    "hbase.master.wait.on.service.seconds";<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public static final int DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS = 5 * 60;<a name="line.313"></a>
+<span class="sourceLineNo">291</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  //instance into web context.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  public static final String MASTER = "master";<a name="line.293"></a>
+<span class="sourceLineNo">294</span><a name="line.294"></a>
+<span class="sourceLineNo">295</span>  // Manager and zk listener for master election<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  private final ActiveMasterManager activeMasterManager;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  // Region server tracker<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  RegionServerTracker regionServerTracker;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  // Draining region server tracker<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  private DrainingServerTracker drainingServerTracker;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  // Tracker for load balancer state<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  LoadBalancerTracker loadBalancerTracker;<a name="line.302"></a>
+<span class="sourceLineNo">303</span><a name="line.303"></a>
+<span class="sourceLineNo">304</span>  // Tracker for split and merge state<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  private SplitOrMergeTracker splitOrMergeTracker;<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>  // Tracker for region normalizer state<a name="line.307"></a>
+<span class="sourceLineNo">308</span>  private RegionNormalizerTracker regionNormalizerTracker;<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>  //Tracker for master maintenance mode setting<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  private MasterMaintenanceModeTracker maintenanceModeTracker;<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private ClusterSchemaService clusterSchemaService;<a name="line.313"></a>
 <span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // Metrics for the HMaster<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  final MetricsMaster metricsMaster;<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // file system manager for the master FS operations<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  private MasterFileSystem fileSystemManager;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  private MasterWalManager walManager;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // server manager to deal with region server info<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  private volatile ServerManager serverManager;<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  // manager of assignment nodes in zookeeper<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  private AssignmentManager assignmentManager;<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  // manager of replication<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  private ReplicationPeerManager replicationPeerManager;<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  // buffer for "fatal error" notices from region servers<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  // in the cluster. This is only used for assisting<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  // operations/debugging.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  // flag set after we become the active master (used for testing)<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  private volatile boolean activeMaster = false;<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>  // flag set after we complete initialization once active<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private final ProcedureEvent&lt;?&gt; initialized = new ProcedureEvent&lt;&gt;("master initialized");<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  // flag set after master services are started,<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  // initialization may have not completed yet.<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  volatile boolean serviceStarted = false;<a name="line.343"></a>
+<span class="sourceLineNo">315</span>  public static final String HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS =<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    "hbase.master.wait.on.service.seconds";<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  public static final int DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS = 5 * 60;<a name="line.317"></a>
+<span class="sourceLineNo">318</span><a name="line.318"></a>
+<span class="sourceLineNo">319</span>  // Metrics for the HMaster<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  final MetricsMaster metricsMaster;<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  // file system manager for the master FS operations<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  private MasterFileSystem fileSystemManager;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>  private MasterWalManager walManager;<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  // server manager to deal with region server info<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  private volatile ServerManager serverManager;<a name="line.326"></a>
+<span class="sourceLineNo">327</span><a name="line.327"></a>
+<span class="sourceLineNo">328</span>  // manager of assignment nodes in zookeeper<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  private AssignmentManager assignmentManager;<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>  // manager of replication<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  private ReplicationPeerManager replicationPeerManager;<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // buffer for "fatal error" notices from region servers<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  // in the cluster. This is only used for assisting<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  // operations/debugging.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  // flag set after we become the active master (used for testing)<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  private volatile boolean activeMaster = false;<a name="line.340"></a>
+<span class="sourceLineNo">341</span><a name="line.341"></a>
+<span class="sourceLineNo">342</span>  // flag set after we complete initialization once active<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private final ProcedureEvent&lt;?&gt; initialized = new ProcedureEvent&lt;&gt;("master initialized");<a name="line.343"></a>
 <span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  // flag set after we complete assignMeta.<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  private final ProcedureEvent&lt;?&gt; serverCrashProcessingEnabled =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    new ProcedureEvent&lt;&gt;("server crash processing");<a name="line.347"></a>
+<span class="sourceLineNo">345</span>  // flag set after master services are started,<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  // initialization may have not completed yet.<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  volatile boolean serviceStarted = false;<a name="line.347"></a>
 <span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>  // Maximum time we should run balancer for<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  private final int maxBlancingTime;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  // Maximum percent of regions in transition when balancing<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private final double maxRitPercent;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  private final LockManager lockManager = new LockManager(this);<a name="line.354"></a>
-<span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>  private LoadBalancer balancer;<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private RegionNormalizer normalizer;<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private BalancerChore balancerChore;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  private RegionNormalizerChore normalizerChore;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private ClusterStatusChore clusterStatusChore;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  CatalogJanitor catalogJanitorChore;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  private ReplicationMetaCleaner replicationMetaCleaner;<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  private LogCleaner logCleaner;<a name="line.365"></a>
-<span class="sourceLineNo">366</span>  private HFileCleaner hfileCleaner;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  private ExpiredMobFileCleanerChore expiredMobFileCleanerChore;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  private MobCompactionChore mobCompactChore;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  private MasterMobCompactionThread mobCompactThread;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  // used to synchronize the mobCompactionStates<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  // save the information of mob compactions in tables.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  MasterCoprocessorHost cpHost;<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>  private final boolean preLoadTableDescriptors;<a name="line.378"></a>
+<span class="sourceLineNo">349</span>  // flag set after we complete assignMeta.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  private final ProcedureEvent&lt;?&gt; serverCrashProcessingEnabled =<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    new ProcedureEvent&lt;&gt;("server crash processing");<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>  // Maximum time we should run balancer for<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  private final int maxBlancingTime;<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  // Maximum percent of regions in transition when balancing<a name="line.355"></a>
+<span class="sourceLineNo">356</span>  private final double maxRitPercent;<a name="line.356"></a>
+<span class="sourceLineNo">357</span><a name="line.357"></a>
+<span class="sourceLineNo">358</span>  private final LockManager lockManager = new LockManager(this);<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span>  private LoadBalancer balancer;<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  private RegionNormalizer normalizer;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>  private BalancerChore balancerChore;<a name="line.362"></a>
+<span class="sourceLineNo">363</span>  private RegionNormalizerChore normalizerChore;<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  private ClusterStatusChore clusterStatusChore;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.365"></a>
+<span class="sourceLineNo">366</span><a name="line.366"></a>
+<span class="sourceLineNo">367</span>  CatalogJanitor catalogJanitorChore;<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  private ReplicationMetaCleaner replicationMetaCleaner;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  private LogCleaner logCleaner;<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  private HFileCleaner hfileCleaner;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  private ExpiredMobFileCleanerChore expiredMobFileCleanerChore;<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  private MobCompactionChore mobCompactChore;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>  private MasterMobCompactionThread mobCompactThread;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>  // used to synchronize the mobCompactionStates<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.375"></a>
+<span class="sourceLineNo">376</span>  // save the information of mob compactions in tables.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.378"></a>
 <span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>  // Time stamps for when a hmaster became active<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  private long masterActiveTime;<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  // Time stamp for when HMaster finishes becoming Active Master<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  private long masterFinishedInitializationTime;<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  //should we check the compression codec type at master side, default true, HBASE-6370<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  private final boolean masterCheckCompression;<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>  //should we check encryption settings at master side, default true<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  private final boolean masterCheckEncryption;<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span>  Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.392"></a>
-<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span>  // monitor for snapshot of hbase tables<a name="line.394"></a>
-<span class="sourceLineNo">395</span>  SnapshotManager snapshotManager;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  // monitor for distributed procedures<a name="line.396"></a>
-<span class="sourceLineNo">397</span>  private MasterProcedureManagerHost mpmHost;<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>  // it is assigned after 'initialized' guard set to true, so should be volatile<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  private volatile MasterQuotaManager quotaManager;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>  private SpaceQuotaSnapshotNotifier spaceQuotaSnapshotNotifier;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  private QuotaObserverChore quotaObserverChore;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  private SnapshotQuotaObserverChore snapshotQuotaChore;<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>  private ProcedureExecutor&lt;MasterProcedureEnv&gt; procedureExecutor;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  private WALProcedureStore procedureStore;<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  // handle table states<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  private TableStateManager tableStateManager;<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>  private long splitPlanCount;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  private long mergePlanCount;<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  /* Handle favored nodes information */<a name="line.414"></a>
-<span class="sourceLineNo">415</span>  private FavoredNodesManager favoredNodesManager;<a name="line.415"></a>
-<span class="sourceLineNo">416</span><a name="line.416"></a>
-<span class="sourceLineNo">417</span>  /** jetty server for master to redirect requests to regionserver infoServer */<a name="line.417"></a>
-<span class="sourceLineNo">418</span>  private Server masterJettyServer;<a name="line.418"></a>
-<span class="sourceLineNo">419</span><a name="line.419"></a>
-<span class="sourceLineNo">420</span>  public static class RedirectServlet extends HttpServlet {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    private static final long serialVersionUID = 2894774810058302473L;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    private final int regionServerInfoPort;<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    private final String regionServerHostname;<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>     * @param infoServer that we're trying to send all requests to<a name="line.426"></a>
-<span class="sourceLineNo">427</span>     * @param hostname may be null. if given, will be used for redirects instead of host from client.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>     */<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    public RedirectServlet(InfoServer infoServer, String hostname) {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>       regionServerInfoPort = infoServer.getPort();<a name="line.430"></a>
-<span class="sourceLineNo">431</span>       regionServerHostname = hostname;<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    }<a name="line.432"></a>
-<span class="sourceLineNo">433</span><a name="line.433"></a>
-<span class="sourceLineNo">434</span>    @Override<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    public void doGet(HttpServletRequest request,<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        HttpServletResponse response) throws ServletException, IOException {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      String redirectHost = regionServerHostname;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      if(redirectHost == null) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        redirectHost = request.getServerName();<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        if(!Addressing.isLocalAddress(InetAddress.getByName(redirectHost))) {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>          LOG.warn("Couldn't resolve '" + redirectHost + "' as an address local to this node and '" +<a name="line.441"></a>
-<span class="sourceLineNo">442</span>              MASTER_HOSTNAME_KEY + "' is not set; client will get a HTTP 400 response. If " +<a name="line.442"></a>
-<span class="sourceLineNo">443</span>              "your HBase deployment relies on client accessible names that the region server process " +<a name="line.443"></a>
-<span class="sourceLineNo">444</span>              "can't resolve locally, then you should set the previously mentioned configuration variable " +<a name="line.444"></a>
-<span class="sourceLineNo">445</span>              "to an appropriate hostname.");<a name="line.445"></a>
-<span class="sourceLineNo">446</span>          // no sending client provided input back to the client, so the goal host is just in the logs.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>          response.sendError(400, "Request was to a host that I can't resolve for any of the network interfaces on " +<a name="line.447"></a>
-<span class="sourceLineNo">448</span>              "this node. If this is due to an intermediary such as an HTTP load balancer or other proxy, your HBase " +<a name="line.448"></a>
-<span class="sourceLineNo">449</span>              "administrator can set '" + MASTER_HOSTNAME_KEY + "' to point to the correct hostname.");<a name="line.449"></a>
-<span class="sourceLineNo">450</span>          return;<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        }<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      }<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      // TODO this scheme should come from looking at the scheme registered in the infoserver's http server for the<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      // host and port we're using, but it's buried way too deep to do that ATM.<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      String redirectUrl = request.getScheme() + "://"<a name="line.455"></a>
-<span class="sourceLineNo">456</span>        + redirectHost + ":" + regionServerInfoPort<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        + request.getRequestURI();<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      response.sendRedirect(redirectUrl);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span>  /**<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   * Initializes the HMaster. The steps are as follows:<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * &lt;p&gt;<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * &lt;ol&gt;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   * &lt;li&gt;Initialize the local HRegionServer<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * &lt;li&gt;Start the ActiveMasterManager.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * &lt;/ol&gt;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * &lt;p&gt;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   * Remaining steps of initialization occur in<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * #finishActiveMasterInitialization(MonitoredTask) after<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   * the master becomes the active one.<a name="line.472"></a>
-<span class="sourceLineNo">473</span>   */<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  public HMaster(final Configuration conf)<a name="line.474"></a>
-<span class="sourceLineNo">

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 fef1692..852f85c 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":9,"i38":10,"i39":10,"i40":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";
 var tableTab = "tableTab";
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.114">ReplicationSourceManager</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.123">ReplicationSourceManager</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationListener.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationListener</a></pre>
 <div class="block">This class is responsible to manage all the replication sources. There are two classes of
@@ -135,14 +135,15 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
  operations.</li>
  <li>Need synchronized on <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsById"><code>walsById</code></a>. There are four methods which modify it,
  <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addPeer-java.lang.String-"><code>addPeer(String)</code></a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a>,
- <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.util.SortedSet-java.lang.String-java.lang.String-"><code>cleanOldLogs(SortedSet, String, String)</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#preLogRoll-org.apache.hadoop.fs.Path-"><code>preLogRoll(Path)</code></a>. <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsById"><code>walsById</code></a>
- is a ConcurrentHashMap and there is a Lock for peer id in <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandlerImpl.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><code>PeerProcedureHandlerImpl</code></a>. So
- there is no race between <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addPeer-java.lang.String-"><code>addPeer(String)</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a>.
- <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.util.SortedSet-java.lang.String-java.lang.String-"><code>cleanOldLogs(SortedSet, String, String)</code></a> is called by <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><code>ReplicationSourceInterface</code></a>.
- So no race with <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addPeer-java.lang.String-"><code>addPeer(String)</code></a>. <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a> will terminate the
- <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><code>ReplicationSourceInterface</code></a> firstly, then remove the wals from <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsById"><code>walsById</code></a>. So no
- race with <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a>. The only case need synchronized is
- <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.util.SortedSet-java.lang.String-java.lang.String-"><code>cleanOldLogs(SortedSet, String, String)</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#preLogRoll-org.apache.hadoop.fs.Path-"><code>preLogRoll(Path)</code></a>.</li>
+ <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.util.SortedSet-java.lang.String-java.lang.String-"><code>cleanOldLogs(SortedSet, String, String)</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#preLogRoll-org.apache.hadoop.fs.Path-"><code>preLogRoll(Path)</code></a>.
+ <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsById"><code>walsById</code></a> is a ConcurrentHashMap and there is a Lock for peer id in
+ <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandlerImpl.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><code>PeerProcedureHandlerImpl</code></a>. So there is no race between <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addPeer-java.lang.String-"><code>addPeer(String)</code></a> and
+ <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a>. <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.util.SortedSet-java.lang.String-java.lang.String-"><code>cleanOldLogs(SortedSet, String, String)</code></a> is called by
+ <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><code>ReplicationSourceInterface</code></a>. So no race with <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#addPeer-java.lang.String-"><code>addPeer(String)</code></a>.
+ <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a> will terminate the <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><code>ReplicationSourceInterface</code></a> firstly, then
+ remove the wals from <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsById"><code>walsById</code></a>. So no race with <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a>. The only
+ case need synchronized is <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.util.SortedSet-java.lang.String-java.lang.String-"><code>cleanOldLogs(SortedSet, String, String)</code></a> and
+ <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#preLogRoll-org.apache.hadoop.fs.Path-"><code>preLogRoll(Path)</code></a>.</li>
  <li>No need synchronized on <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#walsByIdRecoveredQueues"><code>walsByIdRecoveredQueues</code></a>. There are three methods which
  modify it, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#removePeer-java.lang.String-"><code>removePeer(String)</code></a> , <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#cleanOldLogs-java.util.SortedSet-java.lang.String-java.lang.String-"><code>cleanOldLogs(SortedSet, String, String)</code></a> and
  <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.NodeFailoverWorker.html#run--"><code>ReplicationSourceManager.NodeFailoverWorker.run()</code></a>.
@@ -328,7 +329,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 </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>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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>
@@ -498,11 +499,11 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 </td>
 </tr>
 <tr id="i29" class="rowColor">
-<td class="colFirst"><code>(package private) void</code></td>
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#postLogRoll-org.apache.hadoop.fs.Path-">postLogRoll</a></span>(org.apache.hadoop.fs.Path&nbsp;newLog)</code>&nbsp;</td>
 </tr>
 <tr id="i30" class="altColor">
-<td class="colFirst"><code>(package private) void</code></td>
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#preLogRoll-org.apache.hadoop.fs.Path-">preLogRoll</a></span>(org.apache.hadoop.fs.Path&nbsp;newLog)</code>&nbsp;</td>
 </tr>
 <tr id="i31" class="rowColor">
@@ -537,16 +538,29 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 </td>
 </tr>
 <tr id="i36" class="altColor">
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">scopeWALEdits</a></span>(<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)</code>&nbsp;</td>
+</tr>
+<tr id="i37" class="rowColor">
+<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.conf.Configuration-">scopeWALEdits</a></span>(<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)</code>
+<div class="block">Utility method used to set the correct scopes on each log key.</div>
+</td>
+</tr>
+<tr id="i38" 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/ReplicationSourceManager.html#throwIOExceptionWhenFail-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.ReplicationQueueOperation-">throwIOExceptionWhenFail</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i39" 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/ReplicationSourceManager.html#transferQueues-org.apache.hadoop.hbase.ServerName-">transferQueues</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;deadRS)</code>
 <div class="block">Transfer all the queues of the specified to this region server.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#waitUntilCanBePushed-byte:A-long-java.lang.String-">waitUntilCanBePushed</a></span>(byte[]&nbsp;encodedName,
                     long&nbsp;seq,
@@ -582,7 +596,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <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/ReplicationSourceManager.html#line.115">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.124">LOG</a></pre>
 </li>
 </ul>
 <a name="sources">
@@ -591,7 +605,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>sources</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.117">sources</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.126">sources</a></pre>
 </li>
 </ul>
 <a name="oldsources">
@@ -600,7 +614,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>oldsources</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.119">oldsources</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.128">oldsources</a></pre>
 </li>
 </ul>
 <a name="queueStorage">
@@ -609,7 +623,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>queueStorage</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/ReplicationSourceManager.html#line.120">queueStorage</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/ReplicationSourceManager.html#line.129">queueStorage</a></pre>
 </li>
 </ul>
 <a name="replicationTracker">
@@ -618,7 +632,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationTracker</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationTracker.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationTracker</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.121">replicationTracker</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationTracker.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationTracker</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.130">replicationTracker</a></pre>
 </li>
 </ul>
 <a name="replicationPeers">
@@ -627,7 +641,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationPeers</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.122">replicationPeers</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.131">replicationPeers</a></pre>
 </li>
 </ul>
 <a name="clusterId">
@@ -636,7 +650,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>clusterId</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.124">clusterId</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.133">clusterId</a></pre>
 </li>
 </ul>
 <a name="server">
@@ -645,7 +659,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>server</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.126">server</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.135">server</a></pre>
 </li>
 </ul>
 <a name="walsById">
@@ -654,7 +668,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>walsById</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replicatio
 n/regionserver/ReplicationSourceManager.html#line.131">walsById</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replicatio
 n/regionserver/ReplicationSourceManager.html#line.140">walsById</a></pre>
 </li>
 </ul>
 <a name="walsByIdRecoveredQueues">
@@ -663,7 +677,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>walsByIdRecoveredQueues</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replicatio
 n/regionserver/ReplicationSourceManager.html#line.135">walsByIdRecoveredQueues</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replicatio
 n/regionserver/ReplicationSourceManager.html#line.144">walsByIdRecoveredQueues</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -672,7 +686,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <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/ReplicationSourceManager.html#line.137">conf</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.146">conf</a></pre>
 </li>
 </ul>
 <a name="fs">
@@ -681,7 +695,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <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/ReplicationSourceManager.html#line.138">fs</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.147">fs</a></pre>
 </li>
 </ul>
 <a name="latestPaths">
@@ -690,7 +704,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>latestPaths</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.hadoop.fs.Path&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.140">latestPaths</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.hadoop.fs.Path&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.149">latestPaths</a></pre>
 </li>
 </ul>
 <a name="logDir">
@@ -699,7 +713,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>logDir</h4>
-<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.142">logDir</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.151">logDir</a></pre>
 </li>
 </ul>
 <a name="oldLogDir">
@@ -708,7 +722,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>oldLogDir</h4>
-<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.144">oldLogDir</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.153">oldLogDir</a></pre>
 </li>
 </ul>
 <a name="walFileLengthProvider">
@@ -717,7 +731,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <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/ReplicationSourceManager.html#line.145">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/ReplicationSourceManager.html#line.154">walFileLengthProvider</a></pre>
 </li>
 </ul>
 <a name="sleepBeforeFailover">
@@ -726,7 +740,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>sleepBeforeFailover</h4>
-<pre>private final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.147">sleepBeforeFailover</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.156">sleepBeforeFailover</a></pre>
 </li>
 </ul>
 <a name="executor">
@@ -735,7 +749,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>executor</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.149">executor</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.158">executor</a></pre>
 </li>
 </ul>
 <a name="replicationForBulkLoadDataEnabled">
@@ -744,7 +758,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationForBulkLoadDataEnabled</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.151">replicationForBulkLoadDataEnabled</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.160">replicationForBulkLoadDataEnabled</a></pre>
 </li>
 </ul>
 <a name="connection">
@@ -753,7 +767,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>connection</h4>
-<pre>private&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/ReplicationSourceManager.html#line.153">connection</a></pre>
+<pre>private&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/ReplicationSourceManager.html#line.162">connection</a></pre>
 </li>
 </ul>
 <a name="replicationWaitTime">
@@ -762,7 +776,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationWaitTime</h4>
-<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.154">replicationWaitTime</a></pre>
+<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.163">replicationWaitTime</a></pre>
 </li>
 </ul>
 <a name="totalBufferUsed">
@@ -771,7 +785,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockListLast">
 <li class="blockList">
 <h4>totalBufferUsed</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.156">totalBufferUsed</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.165">totalBufferUsed</a></pre>
 </li>
 </ul>
 </li>
@@ -788,7 +802,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ReplicationSourceManager</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.170">ReplicationSourceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>&nbsp;queueStorage,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.179">ReplicationSourceManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>&nbsp;queueStorage,
                                 <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a>&nbsp;replicationPeers,
                                 <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationTracker.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationTracker</a>&nbsp;replicationTracker,
                                 org.apache.hadoop.conf.Configuration&nbsp;conf,
@@ -830,7 +844,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>init</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;?&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.218">init</a>()
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;?&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.227">init</a>()
         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Adds a normal source per registered peer cluster and tries to process all old region server wal
  queues
@@ -848,7 +862,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>adoptAbandonedQueues</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.230">adoptAbandonedQueues</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.239">adoptAbandonedQueues</a>()</pre>
 </li>
 </ul>
 <a name="addPeer-java.lang.String-">
@@ -857,7 +871,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>addPeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.259">addPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.268">addPeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">1. Add peer to replicationPeers 2. Add the normal source and related replication queue 3. Add
  HFile Refs</div>
@@ -875,7 +889,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>removePeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.280">removePeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.289">removePeer</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</pre>
 <div class="block">1. Remove peer for replicationPeers 2. Remove all the recovered sources for the specified id
  and related replication queues 3. Remove the normal source and related replication queue 4.
  Remove HFile Refs</div>
@@ -891,7 +905,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>createSource</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.322">createSource</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queueId,
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.331">createSource</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queueId,
                                                 <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeer</a>&nbsp;replicationPeer)
                                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Factory method to create a replication source</div>
@@ -911,7 +925,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>addSource</h4>
-<pre><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.341">addSource</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
+<pre><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.350">addSource</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Add a normal source for the given peer on this region server. Meanwhile, add new replication
  queue to storage. For the newly added peer, we only need to enqueue the latest log of each wal
@@ -932,7 +946,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>refreshSources</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.375">refreshSources</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.384">refreshSources</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Close the previous replication sources of this peer id and open new sources to trigger the new
  replication state changes or new replication config changes. Here we don't need to change
@@ -951,7 +965,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>removeRecoveredSource</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.423">removeRecoveredSource</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;src)</pre>
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.432">removeRecoveredSource</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;src)</pre>
 <div class="block">Clear the metrics and related replication queue of the specified old source</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -965,7 +979,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>removeSource</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.436">removeSource</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;src)</pre>
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.445">removeSource</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;src)</pre>
 <div class="block">Clear the metrics and related replication queue of the specified old source</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -979,7 +993,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteQueue</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.449">deleteQueue</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queueId)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.458">deleteQueue</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queueId)</pre>
 <div class="block">Delete a complete queue of wals associated with a replication source</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -993,7 +1007,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>abortWhenFail</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.458">abortWhenFail</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.467">abortWhenFail</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)</pre>
 </li>
 </ul>
 <a name="throwIOExceptionWhenFail-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.ReplicationQueueOperation-">
@@ -1002,7 +1016,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>throwIOExceptionWhenFail</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.466">throwIOExceptionWhenFail</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.475">throwIOExceptionWhenFail</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1016,7 +1030,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>abortAndThrowIOExceptionWhenFail</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.474">abortAndThrowIOExceptionWhenFail</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.483">abortAndThrowIOExceptionWhenFail</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager.ReplicationQueueOperation</a>&nbsp;op)
                                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1030,7 +1044,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>logPositionAndCleanOldLogs</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.491">logPositionAndCleanOldLogs</a>(org.apache.hadoop.fs.Path&nbsp;log,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.500">logPositionAndCleanOldLogs</a>(org.apache.hadoop.fs.Path&nbsp;log,
                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queueId,
                                        long&nbsp;position,
                                        boolean&nbsp;queueRecovered)</pre>
@@ -1051,7 +1065,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanOldLogs</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.507">cleanOldLogs</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;log,
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.516">cleanOldLogs</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;log,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queueId,
                   boolean&nbsp;queueRecovered)</pre>
 <div class="block">Cleans a log file and all older logs from replication queue. Called when we are sure that a log
@@ -1070,7 +1084,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanOldLogs</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.525">cleanOldLogs</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;wals,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.534">cleanOldLogs</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;wals,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</pre>
 </li>
@@ -1081,8 +1095,8 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>preLogRoll</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.536">preLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;newLog)
-         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.547">preLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;newLog)
+                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
@@ -1095,21 +1109,57 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>postLogRoll</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.591">postLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;newLog)
-          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.604">postLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;newLog)
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
+<a name="scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scopeWALEdits</h4>
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.611">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)
+            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.conf.Configuration-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scopeWALEdits</h4>
+<pre>static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.623">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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If failed to parse the WALEdit</dd>
+</dl>
+</li>
+</ul>
 <a name="regionServerRemoved-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServerRemoved</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.599">regionServerRemoved</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regionserver)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.649">regionServerRemoved</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regionserver)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationListener.html#regionServerRemoved-java.lang.String-">ReplicationListener</a></code></span></div>
 <div class="block">A region server has been removed from the local cluster</div>
 <dl>
@@ -1126,7 +1176,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>transferQueues</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.609">transferQueues</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;deadRS)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.659">transferQueues</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;deadRS)</pre>
 <div class="block">Transfer all the queues of the specified to this region server. First it tries to grab a lock
  and if it works it will move the old queues and finally will delete the old queues.
  <p>
@@ -1139,7 +1189,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>join</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.738">join</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.788">join</a>()</pre>
 <div class="block">Terminate the replication on this region server</div>
 </li>
 </ul>
@@ -1149,7 +1199,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALs</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.750">g
 etWALs</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.800">g
 etWALs</a>()</pre>
 <div class="block">Get a copy of the wals of the normal sources on this rs</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1163,7 +1213,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getWalsByIdRecoveredQueues</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.759">g
 etWalsByIdRecoveredQueues</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.809">g
 etWalsByIdRecoveredQueues</a>()</pre>
 <div class="block">Get a copy of the wals of the recovered sources on this rs</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1177,7 +1227,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getSources</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.767">getSources</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.817">getSources</a>()</pre>
 <div class="block">Get a list of all the normal sources of this rs</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1191,7 +1241,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getOldSources</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.775">getOldSources</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.825">getOldSources</a>()</pre>
 <div class="block">Get a list of all the recovered sources of this rs</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1205,7 +1255,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getSource</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.784">getSource</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceInterface</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.834">getSource</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</pre>
 <div class="block">Get the normal source for a given peer</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1219,7 +1269,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getAllQueues</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.789">getAllQueues</a>()
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.839">getAllQueues</a>()
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1233,7 +1283,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getSizeOfLatestPath</h4>
-<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.800">getSizeOfLatestPath</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.850">getSizeOfLatestPath</a>()</pre>
 </li>
 </ul>
 <a name="getTotalBufferUsed--">
@@ -1242,7 +1292,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalBufferUsed</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.807">getTotalBufferUsed</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.857">getTotalBufferUsed</a>()</pre>
 </li>
 </ul>
 <a name="getOldLogDir--">
@@ -1251,7 +1301,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getOldLogDir</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.815">getOldLogDir</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.865">getOldLogDir</a>()</pre>
 <div class="block">Get the directory where wals are archived</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1265,7 +1315,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogDir</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.823">getLogDir</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.873">getLogDir</a>()</pre>
 <div class="block">Get the directory where wals are stored by their RSs</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1279,7 +1329,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getFs</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.831">getFs</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.881">getFs</a>()</pre>
 <div class="block">Get the handle on the local file system</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1293,7 +1343,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getConnection</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.835">getConnection</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.885">getConnection</a>()</pre>
 </li>
 </ul>
 <a name="getReplicationPeers--">
@@ -1302,7 +1352,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationPeers</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.843">getReplicationPeers</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.893">getReplicationPeers</a>()</pre>
 <div class="block">Get the ReplicationPeers used by this ReplicationSourceManager</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1316,7 +1366,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>getStats</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.850">getStats</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.900">getStats</a>()</pre>
 <div class="block">Get a string representation of all the sources' metrics</div>
 </li>
 </ul>
@@ -1326,7 +1376,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>addHFileRefs</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.863">addHFileRefs</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/replication/regionserver/ReplicationSourceManager.html#line.913">addHFileRefs</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                          byte[]&nbsp;family,
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/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;&gt;&nbsp;pairs)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1342,7 +1392,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanUpHFileRefs</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.870">cleanUpHFileRefs</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.920">cleanUpHFileRefs</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;files)</pre>
 </li>
 </ul>
@@ -1352,7 +1402,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockList">
 <li class="blockList">
 <h4>activeFailoverTaskCount</h4>
-<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.874">activeFailoverTaskCount</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.924">activeFailoverTaskCount</a>()</pre>
 </li>
 </ul>
 <a name="waitUntilCanBePushed-byte:A-long-java.lang.String-">
@@ -1361,7 +1411,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/Replic
 <ul class="blockListLast">
 <li class="blockList">
 <h4>waitUntilCanBePushed</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.887">waitUntilCanBePushed</a>(byte[]&nbsp;encodedName,
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.937">waitUntilCanBePushed</a>(byte[]&nbsp;encodedName,
                           long&nbsp;seq,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/wal/class-use/WALActionsListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/class-use/WALActionsListener.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/class-use/WALActionsListener.html
index 8a18a7d..df45e2f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/class-use/WALActionsListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/class-use/WALActionsListener.html
@@ -83,17 +83,9 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver.wal">org.apache.hadoop.hbase.regionserver.wal</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<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>
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.wal">org.apache.hadoop.hbase.wal</a></td>
 <td class="colLast">&nbsp;</td>
@@ -103,26 +95,6 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.regionserver">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a> in <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.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/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> that return <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</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/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationSourceService.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#getWALActionsListener--">getWALActionsListener</a></span>()</code>
-<div class="block">Returns a WALObserver for the service.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.regionserver.wal">
 <!--   -->
 </a>
@@ -220,39 +192,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.hadoop.hbase.replication.regionserver">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</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 classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a> that implement <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a></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>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></span></code>
-<div class="block">Gateway to Replication.</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> that return <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</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/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Replication.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#getWALActionsListener--">getWALActionsListener</a></span>()</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.wal">
 <!--   -->
 </a>
@@ -287,77 +226,41 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">DisabledWALProvider.DisabledWAL.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#registerWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">registerWALActionsListener</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">AbstractFSWALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">WAL.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/WAL.html#registerWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">registerWALActionsListener</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>
-<div class="block">Registers WALActionsListener</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">RegionGroupingProvider.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">DisabledWALProvider.DisabledWAL.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#unregisterWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">unregisterWALActionsListener</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">WAL.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/WAL.html#unregisterWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">unregisterWALActionsListener</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>
-<div class="block">Unregisters WALActionsListener</div>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">WALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>
+<div class="block">Add a <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal"><code>WALActionsListener</code></a>.</div>
 </td>
 </tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Method parameters in <a href="../../../../../../../org/apache/hadoop/hbase/wal/package-summary.html">org.apache.hadoop.hbase.wal</a> with type arguments of type <a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</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/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></td>
-<td class="colLast"><span class="typeNameLabel">WALFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#createProvider-java.lang.Class-java.util.List-java.lang.String-">createProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt;&nbsp;clazz,
-              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
-              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
-<td class="colFirst"><code>(package private) <a href="../../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></td>
-<td class="colLast"><span class="typeNameLabel">WALFactory.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#getProvider-java.lang.String-java.lang.String-java.util.List-java.lang.String-">getProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
-           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;defaultValue,
-           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
-           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>
-<div class="block">instantiate a provider from a config property.</div>
-</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">DisabledWALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractFSWALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
-    org.apache.hadoop.conf.Configuration&nbsp;conf,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">DisabledWALProvider.DisabledWAL.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#registerWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">registerWALActionsListener</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">RegionGroupingProvider.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
-    org.apache.hadoop.conf.Configuration&nbsp;conf,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">WAL.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/WAL.html#registerWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">registerWALActionsListener</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>
+<div class="block">Registers WALActionsListener</div>
+</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">WALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
-    org.apache.hadoop.conf.Configuration&nbsp;conf,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>
-<div class="block">Set up the provider to create wals.</div>
-</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">DisabledWALProvider.DisabledWAL.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#unregisterWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">unregisterWALActionsListener</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">DisabledWALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
-    org.apache.hadoop.conf.Configuration&nbsp;conf,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>&nbsp;</td>
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">WAL.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/WAL.html#unregisterWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">unregisterWALActionsListener</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>
+<div class="block">Unregisters WALActionsListener</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -372,11 +275,6 @@
            org.apache.hadoop.conf.Configuration&nbsp;conf,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">WALFactory</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
-          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
-          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;factoryId)</code>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-use.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-use.html
index 012cdf5..88796c2 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-use.html
@@ -97,10 +97,6 @@
 <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>
-<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.wal">org.apache.hadoop.hbase.wal</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -138,11 +134,6 @@
 <div class="block">Interface of the source that will export metrics about the region server's WAL.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/class-use/WALActionsListener.html#org.apache.hadoop.hbase.regionserver">WALActionsListener</a>
-<div class="block">Get notification of WAL events.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -281,23 +272,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.hadoop.hbase.replication.regionserver">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</a> used by <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/class-use/WALActionsListener.html#org.apache.hadoop.hbase.replication.regionserver">WALActionsListener</a>
-<div class="block">Get notification of WAL events.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.wal">
 <!--   -->
 </a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/ReplicationUtils.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/ReplicationUtils.html b/devapidocs/org/apache/hadoop/hbase/replication/ReplicationUtils.html
index c6f5b10..c56956d 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/ReplicationUtils.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/ReplicationUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public final class <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.36">ReplicationUtils</a>
+public final class <a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.37">ReplicationUtils</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Helper class for replication.</div>
 </li>
@@ -171,11 +171,15 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ns2)</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationUtils.html#isReplicationForBulkLoadDataEnabled-org.apache.hadoop.conf.Configuration-">isReplicationForBulkLoadDataEnabled</a></span>(org.apache.hadoop.conf.Configuration&nbsp;c)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>private static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationUtils.html#isTableCFsEqual-java.util.Map-java.util.Map-">isTableCFsEqual</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;tableCFs1,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;tableCFs2)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationUtils.html#removeAllQueues-org.apache.hadoop.hbase.replication.ReplicationQueueStorage-java.lang.String-">removeAllQueues</a></span>(<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>&nbsp;queueStorage,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>&nbsp;</td>
@@ -208,7 +212,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ReplicationUtils</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.38">ReplicationUtils</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.39">ReplicationUtils</a>()</pre>
 </li>
 </ul>
 </li>
@@ -225,7 +229,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getPeerClusterConfiguration</h4>
-<pre>public static&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.41">getPeerClusterConfiguration</a>(<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig,
+<pre>public static&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.42">getPeerClusterConfiguration</a>(<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig,
                                                                                org.apache.hadoop.conf.Configuration&nbsp;baseConf)
                                                                         throws <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
@@ -240,7 +244,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>removeAllQueues</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.60">removeAllQueues</a>(<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>&nbsp;queueStorage,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.61">removeAllQueues</a>(<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>&nbsp;queueStorage,
                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)
                             throws <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
@@ -255,7 +259,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isCollectionEqual</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.74">isCollectionEqual</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;c1,
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.75">isCollectionEqual</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;c1,
                                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;c2)</pre>
 </li>
 </ul>
@@ -265,7 +269,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isNamespacesEqual</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.84">isNamespacesEqual</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ns1,
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.85">isNamespacesEqual</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ns1,
                                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ns2)</pre>
 </li>
 </ul>
@@ -275,20 +279,35 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isTableCFsEqual</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.88">isTableCFsEqual</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;tableCFs1,
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.89">isTableCFsEqual</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;tableCFs1,
                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;tableCFs2)</pre>
 </li>
 </ul>
 <a name="isKeyConfigEqual-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isKeyConfigEqual</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.113">isKeyConfigEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;rpc1,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.114">isKeyConfigEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;rpc1,
                                        <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;rpc2)</pre>
 </li>
 </ul>
+<a name="isReplicationForBulkLoadDataEnabled-org.apache.hadoop.conf.Configuration-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isReplicationForBulkLoadDataEnabled</h4>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationUtils.html#line.131">isReplicationForBulkLoadDataEnabled</a>(org.apache.hadoop.conf.Configuration&nbsp;c)</pre>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - Configuration to look at</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>True if replication for bulk load data is enabled.</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html
new file mode 100644
index 0000000..e3d7f59
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html
@@ -0,0 +1,350 @@
+<!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>Replication.ReplicationStatisticsTask (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="Replication.ReplicationStatisticsTask (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":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/Replication.ReplicationStatisticsTask.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/Replication.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/ReplicationLoad.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/Replication.ReplicationStatisticsTask.html" target="_top">Frames</a></li>
+<li><a href="Replication.ReplicationStatisticsTask.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 Replication.ReplicationStatisticsTask" class="title">Class Replication.ReplicationStatisticsTask</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://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.Replication.ReplicationStatisticsTask</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dd>
+</dl>
+<hr>
+<br>
+<pre>private static final class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.236">Replication.ReplicationStatisticsTask</a>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></pre>
+<div class="block">Statistics task. Periodically prints the cache statistics to the log.</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 <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/Replication.ReplicationStatisticsTask.html#replicationManager">replicationManager</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#replicationSink">replicationSink</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/Replication.ReplicationStatisticsTask.html#ReplicationStatisticsTask-org.apache.hadoop.hbase.replication.regionserver.ReplicationSink-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">ReplicationStatisticsTask</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a>&nbsp;replicationSink,
+                         <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationManager)</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 void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#printStats-java.lang.String-">printStats</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stats)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#run--">run</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="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://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="http://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="http://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="replicationSink">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>replicationSink</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#line.238">replicationSink</a></pre>
+</li>
+</ul>
+<a name="replicationManager">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>replicationManager</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/Replication.ReplicationStatisticsTask.html#line.239">replicationManager</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="ReplicationStatisticsTask-org.apache.hadoop.hbase.replication.regionserver.ReplicationSink-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ReplicationStatisticsTask</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#line.241">ReplicationStatisticsTask</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a>&nbsp;replicationSink,
+                                 <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationManager)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="run--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#line.248">run</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="printStats-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>printStats</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#line.253">printStats</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stats)</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/Replication.ReplicationStatisticsTask.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/Replication.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/ReplicationLoad.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/Replication.ReplicationStatisticsTask.html" target="_top">Frames</a></li>
+<li><a href="Replication.ReplicationStatisticsTask.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/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html
deleted file mode 100644
index 7331030..0000000
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html
+++ /dev/null
@@ -1,384 +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>Replication.ReplicationStatisticsThread (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="Replication.ReplicationStatisticsThread (Apache HBase 3.0.0-SNAPSHOT API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":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/Replication.ReplicationStatisticsThread.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/Replication.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/ReplicationLoad.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/Replication.ReplicationStatisticsThread.html" target="_top">Frames</a></li>
-<li><a href="Replication.ReplicationStatisticsThread.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><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>
-</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 Replication.ReplicationStatisticsThread" class="title">Class Replication.ReplicationStatisticsThread</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://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><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.replication.regionserver.Replication.ReplicationStatisticsThread</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dd>
-</dl>
-<hr>
-<br>
-<pre>static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.337">Replication.ReplicationStatisticsThread</a>
-extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!--   -->
-</a>
-<h3>Nested Class Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.java.lang.Thread">
-<!--   -->
-</a>
-<h3>Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
-<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- =========== 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 <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/Replication.ReplicationStatisticsThread.html#replicationManager">replicationManager</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#replicationSink">replicationSink</a></span></code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.java.lang.Thread">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
-<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</a></code></li>
-</ul>
-</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/Replication.ReplicationStatisticsThread.html#ReplicationStatisticsThread-org.apache.hadoop.hbase.replication.regionserver.ReplicationSink-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">ReplicationStatisticsThread</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a>&nbsp;replicationSink,
-                           <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationManager)</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 void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#printStats-java.lang.String-">printStats</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stats)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#run--">run</a></span>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Thread">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
-<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#activeCount--" title="class or interface in java.lang">activeCount</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#checkAccess--" title="class or interface in java.lang">checkAccess</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#countStackFrames--" title="class or interface in java.lang">countStackFrames</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#currentThread--" title="class or interface in java.lang">currentThread</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#destroy--" title="class or interface in java.lang">destroy</a>, <a href="http://docs.oracle.com
 /javase/8/docs/api/java/lang/Thread.html?is-external=true#dumpStack--" title="class or interface in java.lang">dumpStack</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#enumerate-java.lang.Thread:A-" title="class or interface in java.lang">enumerate</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces--" title="class or interface in java.lang">getAllStackTraces</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader--" title="class or interface in java.lang">getContextClassLoader</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler--" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getId--" title="class or interface in java.lan
 g">getId</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getName--" title="class or interface in java.lang">getName</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getPriority--" title="class or interface in java.lang">getPriority</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getStackTrace--" title="class or interface in java.lang">getStackTrace</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getState--" title="class or interface in java.lang">getState</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup--" title="class or interface in java.lang">getThreadGroup</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler--" title="class or interface in java.lang">getUncaughtExceptionHa
 ndler</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#holdsLock-java.lang.Object-" title="class or interface in java.lang">holdsLock</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupt--" title="class or interface in java.lang">interrupt</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#interrupted--" title="class or interface in java.lang">interrupted</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isAlive--" title="class or interface in java.lang">isAlive</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isDaemon--" title="class or interface in java.lang">isDaemon</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#isInterrupted--" title="class or interface in java.lang">isInterrupted</a>, <a href="http://docs.o
 racle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join--" title="class or interface in java.lang">join</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-" title="class or interface in java.lang">join</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#join-long-int-" title="class or interface in java.lang">join</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#resume--" title="class or interface in java.lang">resume</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader-java.lang.ClassLoader-" title="class or interface in java.lang">setContextClassLoader</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setDaemon-boolean-" title="class or interface in java.lang">setDaemon</a>, <a href="http://docs.oracle.com/javase/8/docs/api
 /java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setName-java.lang.String-" title="class or interface in java.lang">setName</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setPriority-int-" title="class or interface in java.lang">setPriority</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler-java.lang.Thread.UncaughtExceptionHandler-" title="class or interface in java.lang">setUncaughtExceptionHandler</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#sleep-long-" title="class or interface in java.lang">sleep</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-ext
 ernal=true#sleep-long-int-" title="class or interface in java.lang">sleep</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#start--" title="class or interface in java.lang">start</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop--" title="class or interface in java.lang">stop</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#stop-java.lang.Throwable-" title="class or interface in java.lang">stop</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#suspend--" title="class or interface in java.lang">suspend</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#yield--" title="class or interface in java.lang">yield</a><
 /code></li>
-</ul>
-<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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/j
 ava/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://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="http://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="replicationSink">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>replicationSink</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#line.339">replicationSink</a></pre>
-</li>
-</ul>
-<a name="replicationManager">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>replicationManager</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/Replication.ReplicationStatisticsThread.html#line.340">replicationManager</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="ReplicationStatisticsThread-org.apache.hadoop.hbase.replication.regionserver.ReplicationSink-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ReplicationStatisticsThread</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#line.342">ReplicationStatisticsThread</a>(<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a>&nbsp;replicationSink,
-                                   <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationManager)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="run--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#line.350">run</a>()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="printStats-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>printStats</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#line.355">printStats</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stats)</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/Replication.ReplicationStatisticsThread.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/Replication.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/ReplicationLoad.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/Replication.ReplicationStatisticsThread.html" target="_top">Frames</a></li>
-<li><a href="Replication.ReplicationStatisticsThread.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><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>
-</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>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
index 4a87b9d..7515d7b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
@@ -25,3542 +25,3570 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.master;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import com.google.protobuf.Descriptors;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import com.google.protobuf.Service;<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.io.InterruptedIOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.lang.reflect.InvocationTargetException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.net.InetAddress;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.net.InetSocketAddress;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.net.UnknownHostException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.ArrayList;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Arrays;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Collection;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.Collections;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.Comparator;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.EnumSet;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.HashMap;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.Iterator;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.util.List;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.Map;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.Map.Entry;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.Objects;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.concurrent.ExecutionException;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.concurrent.Future;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.TimeUnit;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.TimeoutException;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.atomic.AtomicReference;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.function.Function;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.regex.Pattern;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.stream.Collectors;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import javax.servlet.ServletException;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import javax.servlet.http.HttpServlet;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import javax.servlet.http.HttpServletRequest;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import javax.servlet.http.HttpServletResponse;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.commons.lang3.StringUtils;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.conf.Configuration;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.fs.Path;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ClusterId;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ClusterMetrics;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.ClusterMetrics.Option;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.ClusterMetricsBuilder;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.CoordinatedStateException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.HConstants;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.InvalidFamilyOperationException;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.MasterNotRunningException;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.PleaseHoldException;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ReplicationPeerNotFoundException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ServerLoad;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.ServerMetricsBuilder;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ServerName;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.TableDescriptors;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.TableName;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.MasterSwitchType;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.client.Result;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.exceptions.MergeRegionException;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.executor.ExecutorType;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.favored.FavoredNodesManager;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.favored.FavoredNodesPromoter;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.http.InfoServer;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.log.HBaseMarkers;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.master.MasterRpcServices.BalanceSwitchMode;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.master.assignment.AssignmentManager;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.master.assignment.MergeTableRegionsProcedure;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.master.assignment.RegionStates;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.master.assignment.RegionStates.RegionStateNode;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.master.balancer.BalancerChore;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.master.balancer.ClusterStatusChore;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.master.balancer.LoadBalancerFactory;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.master.cleaner.HFileCleaner;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.master.cleaner.LogCleaner;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.master.cleaner.ReplicationMetaCleaner;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.master.locking.LockManager;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.master.normalizer.NormalizationPlan;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.master.normalizer.NormalizationPlan.PlanType;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizer;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizerChore;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizerFactory;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.master.procedure.CreateTableProcedure;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.master.procedure.DeleteTableProcedure;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.master.procedure.DisableTableProcedure;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.master.procedure.EnableTableProcedure;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureConstants;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.master.procedure.RecoverMetaProcedure;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.master.replication.AddPeerProcedure;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.master.replication.DisablePeerProcedure;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.master.replication.EnablePeerProcedure;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.master.replication.ModifyPeerProcedure;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.master.replication.RemovePeerProcedure;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.master.replication.ReplicationPeerManager;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.master.replication.UpdatePeerConfigProcedure;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.mob.MobConstants;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.procedure2.ProcedureEvent;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher.RemoteProcedure;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureException;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.quotas.MasterSpaceQuotaObserver;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.quotas.QuotaObserverChore;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.quotas.SnapshotQuotaObserverChore;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifier;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifierFactory;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.regionserver.DefaultStoreEngine;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.regionserver.RegionSplitPolicy;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.compactions.FIFOCompactionPolicy;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.replication.master.ReplicationPeerConfigUpgrader;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.replication.regionserver.Replication;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.trace.TraceUtil;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.ZKDataMigrator;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.zookeeper.LoadBalancerTracker;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.zookeeper.MasterMaintenanceModeTracker;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.zookeeper.RegionNormalizerTracker;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.zookeeper.ZKWatcher;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.zookeeper.ZNodePaths;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.zookeeper.KeeperException;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.eclipse.jetty.server.Server;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.eclipse.jetty.server.ServerConnector;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.eclipse.jetty.servlet.ServletHolder;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.eclipse.jetty.webapp.WebAppContext;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.slf4j.Logger;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.slf4j.LoggerFactory;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>import org.apache.hbase.thirdparty.com.google.common.collect.Maps;<a name="line.205"></a>
+<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.HConstants.HBASE_MASTER_LOGCLEANER_PLUGINS;<a name="line.20"></a>
+<span class="sourceLineNo">021</span><a name="line.21"></a>
+<span class="sourceLineNo">022</span>import com.google.protobuf.Descriptors;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.protobuf.Service;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.InterruptedIOException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.lang.reflect.Constructor;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.lang.reflect.InvocationTargetException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.net.InetAddress;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.net.InetSocketAddress;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.net.UnknownHostException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.ArrayList;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.Arrays;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Collection;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Collections;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.Comparator;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.EnumSet;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.HashMap;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.Iterator;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.List;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.Map;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.Map.Entry;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.Objects;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.Set;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ExecutionException;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.Future;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.TimeUnit;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.TimeoutException;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.atomic.AtomicReference;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.function.Function;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.regex.Pattern;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.stream.Collectors;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import javax.servlet.ServletException;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import javax.servlet.http.HttpServlet;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import javax.servlet.http.HttpServletRequest;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import javax.servlet.http.HttpServletResponse;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.commons.lang3.StringUtils;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.conf.Configuration;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.fs.Path;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.ClusterId;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.ClusterMetrics;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.ClusterMetrics.Option;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.ClusterMetricsBuilder;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.CoordinatedStateException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.HConstants;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.InvalidFamilyOperationException;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.MasterNotRunningException;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.PleaseHoldException;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.ReplicationPeerNotFoundException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ServerLoad;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.ServerMetricsBuilder;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.ServerName;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.TableDescriptors;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.TableName;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.client.MasterSwitchType;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.client.Result;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.exceptions.MergeRegionException;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.executor.ExecutorType;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.favored.FavoredNodesManager;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.favored.FavoredNodesPromoter;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.http.InfoServer;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.log.HBaseMarkers;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.master.MasterRpcServices.BalanceSwitchMode;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.master.assignment.AssignmentManager;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.master.assignment.MergeTableRegionsProcedure;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.master.assignment.RegionStates;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.master.assignment.RegionStates.RegionStateNode;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.master.balancer.BalancerChore;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.master.balancer.ClusterStatusChore;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.master.balancer.LoadBalancerFactory;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.master.cleaner.HFileCleaner;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.master.cleaner.LogCleaner;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.master.cleaner.ReplicationMetaCleaner;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.master.locking.LockManager;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.master.normalizer.NormalizationPlan;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.master.normalizer.NormalizationPlan.PlanType;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizer;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizerChore;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizerFactory;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.master.procedure.CreateTableProcedure;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.master.procedure.DeleteTableProcedure;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.master.procedure.DisableTableProcedure;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.master.procedure.EnableTableProcedure;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureConstants;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.master.procedure.RecoverMetaProcedure;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.master.replication.AddPeerProcedure;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.master.replication.DisablePeerProcedure;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.master.replication.EnablePeerProcedure;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.master.replication.ModifyPeerProcedure;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.master.replication.RemovePeerProcedure;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.master.replication.ReplicationPeerManager;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.master.replication.UpdatePeerConfigProcedure;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.mob.MobConstants;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.procedure2.ProcedureEvent;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher.RemoteProcedure;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureException;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.quotas.MasterSpaceQuotaObserver;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.quotas.QuotaObserverChore;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.quotas.SnapshotQuotaObserverChore;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifier;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifierFactory;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.DefaultStoreEngine;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.RegionSplitPolicy;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.compactions.FIFOCompactionPolicy;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.replication.ReplicationUtils;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.replication.master.ReplicationHFileCleaner;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.replication.master.ReplicationLogCleaner;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.replication.master.ReplicationPeerConfigUpgrader;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.trace.TraceUtil;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.util.ZKDataMigrator;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.zookeeper.LoadBalancerTracker;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.zookeeper.MasterMaintenanceModeTracker;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.zookeeper.RegionNormalizerTracker;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.zookeeper.ZKWatcher;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.zookeeper.ZNodePaths;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.zookeeper.KeeperException;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.eclipse.jetty.server.Server;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.eclipse.jetty.server.ServerConnector;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.eclipse.jetty.servlet.ServletHolder;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>import org.eclipse.jetty.webapp.WebAppContext;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>import org.slf4j.Logger;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>import org.slf4j.LoggerFactory;<a name="line.205"></a>
 <span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionServerInfo;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceViolationPolicy;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos;<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> * HMaster is the "master server" for HBase. An HBase cluster has one active<a name="line.216"></a>
-<span class="sourceLineNo">217</span> * master.  If many masters are started, all compete.  Whichever wins goes on to<a name="line.217"></a>
-<span class="sourceLineNo">218</span> * run the cluster.  All others park themselves in their constructor until<a name="line.218"></a>
-<span class="sourceLineNo">219</span> * master or cluster shutdown or until the active master loses its lease in<a name="line.219"></a>
-<span class="sourceLineNo">220</span> * zookeeper.  Thereafter, all running master jostle to take over master role.<a name="line.220"></a>
-<span class="sourceLineNo">221</span> *<a name="line.221"></a>
-<span class="sourceLineNo">222</span> * &lt;p&gt;The Master can be asked shutdown the cluster. See {@link #shutdown()}.  In<a name="line.222"></a>
-<span class="sourceLineNo">223</span> * this case it will tell all regionservers to go down and then wait on them<a name="line.223"></a>
-<span class="sourceLineNo">224</span> * all reporting in that they are down.  This master will then shut itself down.<a name="line.224"></a>
+<span class="sourceLineNo">207</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>import org.apache.hbase.thirdparty.com.google.common.collect.Maps;<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionServerInfo;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceViolationPolicy;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos;<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> * HMaster is the "master server" for HBase. An HBase cluster has one active<a name="line.220"></a>
+<span class="sourceLineNo">221</span> * master.  If many masters are started, all compete.  Whichever wins goes on to<a name="line.221"></a>
+<span class="sourceLineNo">222</span> * run the cluster.  All others park themselves in their constructor until<a name="line.222"></a>
+<span class="sourceLineNo">223</span> * master or cluster shutdown or until the active master loses its lease in<a name="line.223"></a>
+<span class="sourceLineNo">224</span> * zookeeper.  Thereafter, all running master jostle to take over master role.<a name="line.224"></a>
 <span class="sourceLineNo">225</span> *<a name="line.225"></a>
-<span class="sourceLineNo">226</span> * &lt;p&gt;You can also shutdown just this master.  Call {@link #stopMaster()}.<a name="line.226"></a>
-<span class="sourceLineNo">227</span> *<a name="line.227"></a>
-<span class="sourceLineNo">228</span> * @see org.apache.zookeeper.Watcher<a name="line.228"></a>
-<span class="sourceLineNo">229</span> */<a name="line.229"></a>
-<span class="sourceLineNo">230</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>@SuppressWarnings("deprecation")<a name="line.231"></a>
-<span class="sourceLineNo">232</span>public class HMaster extends HRegionServer implements MasterServices {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  private static Logger LOG = LoggerFactory.getLogger(HMaster.class.getName());<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>   * Protection against zombie master. Started once Master accepts active responsibility and<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * starts taking over responsibilities. Allows a finite time window before giving up ownership.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private static class InitializationMonitor extends HasThread {<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    /** The amount of time in milliseconds to sleep before checking initialization status. */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    public static final String TIMEOUT_KEY = "hbase.master.initializationmonitor.timeout";<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    public static final long TIMEOUT_DEFAULT = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>    /**<a name="line.244"></a>
-<span class="sourceLineNo">245</span>     * When timeout expired and initialization has not complete, call {@link System#exit(int)} when<a name="line.245"></a>
-<span class="sourceLineNo">246</span>     * true, do nothing otherwise.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>     */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public static final String HALT_KEY = "hbase.master.initializationmonitor.haltontimeout";<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    public static final boolean HALT_DEFAULT = false;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>    private final HMaster master;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    private final long timeout;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    private final boolean haltOnTimeout;<a name="line.253"></a>
+<span class="sourceLineNo">226</span> * &lt;p&gt;The Master can be asked shutdown the cluster. See {@link #shutdown()}.  In<a name="line.226"></a>
+<span class="sourceLineNo">227</span> * this case it will tell all regionservers to go down and then wait on them<a name="line.227"></a>
+<span class="sourceLineNo">228</span> * all reporting in that they are down.  This master will then shut itself down.<a name="line.228"></a>
+<span class="sourceLineNo">229</span> *<a name="line.229"></a>
+<span class="sourceLineNo">230</span> * &lt;p&gt;You can also shutdown just this master.  Call {@link #stopMaster()}.<a name="line.230"></a>
+<span class="sourceLineNo">231</span> *<a name="line.231"></a>
+<span class="sourceLineNo">232</span> * @see org.apache.zookeeper.Watcher<a name="line.232"></a>
+<span class="sourceLineNo">233</span> */<a name="line.233"></a>
+<span class="sourceLineNo">234</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.234"></a>
+<span class="sourceLineNo">235</span>@SuppressWarnings("deprecation")<a name="line.235"></a>
+<span class="sourceLineNo">236</span>public class HMaster extends HRegionServer implements MasterServices {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  private static Logger LOG = LoggerFactory.getLogger(HMaster.class.getName());<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>   * Protection against zombie master. Started once Master accepts active responsibility and<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * starts taking over responsibilities. Allows a finite time window before giving up ownership.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  private static class InitializationMonitor extends HasThread {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    /** The amount of time in milliseconds to sleep before checking initialization status. */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    public static final String TIMEOUT_KEY = "hbase.master.initializationmonitor.timeout";<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    public static final long TIMEOUT_DEFAULT = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>    /**<a name="line.248"></a>
+<span class="sourceLineNo">249</span>     * When timeout expired and initialization has not complete, call {@link System#exit(int)} when<a name="line.249"></a>
+<span class="sourceLineNo">250</span>     * true, do nothing otherwise.<a name="line.250"></a>
+<span class="sourceLineNo">251</span>     */<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    public static final String HALT_KEY = "hbase.master.initializationmonitor.haltontimeout";<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    public static final boolean HALT_DEFAULT = false;<a name="line.253"></a>
 <span class="sourceLineNo">254</span><a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /** Creates a Thread that monitors the {@link #isInitialized()} state. */<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    InitializationMonitor(HMaster master) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      super("MasterInitializationMonitor");<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      this.master = master;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.timeout = master.getConfiguration().getLong(TIMEOUT_KEY, TIMEOUT_DEFAULT);<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      this.haltOnTimeout = master.getConfiguration().getBoolean(HALT_KEY, HALT_DEFAULT);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      this.setDaemon(true);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>    @Override<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    public void run() {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      try {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        while (!master.isStopped() &amp;&amp; master.isActiveMaster()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          Thread.sleep(timeout);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>          if (master.isInitialized()) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>            LOG.debug("Initialization completed within allotted tolerance. Monitor exiting.");<a name="line.270"></a>
-<span class="sourceLineNo">271</span>          } else {<a name="line.271"></a>
-<span class="sourceLineNo">272</span>            LOG.error("Master failed to complete initialization after " + timeout + "ms. Please"<a name="line.272"></a>
-<span class="sourceLineNo">273</span>                + " consider submitting a bug report including a thread dump of this process.");<a name="line.273"></a>
-<span class="sourceLineNo">274</span>            if (haltOnTimeout) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>              LOG.error("Zombie Master exiting. Thread dump to stdout");<a name="line.275"></a>
-<span class="sourceLineNo">276</span>              Threads.printThreadInfo(System.out, "Zombie HMaster");<a name="line.276"></a>
-<span class="sourceLineNo">277</span>              System.exit(-1);<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>      } catch (InterruptedException ie) {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        LOG.trace("InitMonitor thread interrupted. Existing.");<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>  }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  //instance into web context.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public static final String MASTER = "master";<a name="line.289"></a>
+<span class="sourceLineNo">255</span>    private final HMaster master;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    private final long timeout;<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    private final boolean haltOnTimeout;<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>    /** Creates a Thread that monitors the {@link #isInitialized()} state. */<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    InitializationMonitor(HMaster master) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      super("MasterInitializationMonitor");<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      this.master = master;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      this.timeout = master.getConfiguration().getLong(TIMEOUT_KEY, TIMEOUT_DEFAULT);<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      this.haltOnTimeout = master.getConfiguration().getBoolean(HALT_KEY, HALT_DEFAULT);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      this.setDaemon(true);<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>    @Override<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    public void run() {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      try {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>        while (!master.isStopped() &amp;&amp; master.isActiveMaster()) {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>          Thread.sleep(timeout);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>          if (master.isInitialized()) {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>            LOG.debug("Initialization completed within allotted tolerance. Monitor exiting.");<a name="line.274"></a>
+<span class="sourceLineNo">275</span>          } else {<a name="line.275"></a>
+<span class="sourceLineNo">276</span>            LOG.error("Master failed to complete initialization after " + timeout + "ms. Please"<a name="line.276"></a>
+<span class="sourceLineNo">277</span>                + " consider submitting a bug report including a thread dump of this process.");<a name="line.277"></a>
+<span class="sourceLineNo">278</span>            if (haltOnTimeout) {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>              LOG.error("Zombie Master exiting. Thread dump to stdout");<a name="line.279"></a>
+<span class="sourceLineNo">280</span>              Threads.printThreadInfo(System.out, "Zombie HMaster");<a name="line.280"></a>
+<span class="sourceLineNo">281</span>              System.exit(-1);<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>      } catch (InterruptedException ie) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        LOG.trace("InitMonitor thread interrupted. Existing.");<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><a name="line.290"></a>
-<span class="sourceLineNo">291</span>  // Manager and zk listener for master election<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  private final ActiveMasterManager activeMasterManager;<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  // Region server tracker<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  RegionServerTracker regionServerTracker;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  // Draining region server tracker<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  private DrainingServerTracker drainingServerTracker;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  // Tracker for load balancer state<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  LoadBalancerTracker loadBalancerTracker;<a name="line.298"></a>
-<span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>  // Tracker for split and merge state<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private SplitOrMergeTracker splitOrMergeTracker;<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  // Tracker for region normalizer state<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private RegionNormalizerTracker regionNormalizerTracker;<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  //Tracker for master maintenance mode setting<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  private MasterMaintenanceModeTracker maintenanceModeTracker;<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span>  private ClusterSchemaService clusterSchemaService;<a name="line.309"></a>
-<span class="sourceLineNo">310</span><a name="line.310"></a>
-<span class="sourceLineNo">311</span>  public static final String HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS =<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    "hbase.master.wait.on.service.seconds";<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public static final int DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS = 5 * 60;<a name="line.313"></a>
+<span class="sourceLineNo">291</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  //instance into web context.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  public static final String MASTER = "master";<a name="line.293"></a>
+<span class="sourceLineNo">294</span><a name="line.294"></a>
+<span class="sourceLineNo">295</span>  // Manager and zk listener for master election<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  private final ActiveMasterManager activeMasterManager;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  // Region server tracker<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  RegionServerTracker regionServerTracker;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  // Draining region server tracker<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  private DrainingServerTracker drainingServerTracker;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  // Tracker for load balancer state<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  LoadBalancerTracker loadBalancerTracker;<a name="line.302"></a>
+<span class="sourceLineNo">303</span><a name="line.303"></a>
+<span class="sourceLineNo">304</span>  // Tracker for split and merge state<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  private SplitOrMergeTracker splitOrMergeTracker;<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>  // Tracker for region normalizer state<a name="line.307"></a>
+<span class="sourceLineNo">308</span>  private RegionNormalizerTracker regionNormalizerTracker;<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>  //Tracker for master maintenance mode setting<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  private MasterMaintenanceModeTracker maintenanceModeTracker;<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private ClusterSchemaService clusterSchemaService;<a name="line.313"></a>
 <span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // Metrics for the HMaster<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  final MetricsMaster metricsMaster;<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // file system manager for the master FS operations<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  private MasterFileSystem fileSystemManager;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  private MasterWalManager walManager;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // server manager to deal with region server info<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  private volatile ServerManager serverManager;<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  // manager of assignment nodes in zookeeper<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  private AssignmentManager assignmentManager;<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  // manager of replication<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  private ReplicationPeerManager replicationPeerManager;<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  // buffer for "fatal error" notices from region servers<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  // in the cluster. This is only used for assisting<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  // operations/debugging.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  // flag set after we become the active master (used for testing)<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  private volatile boolean activeMaster = false;<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>  // flag set after we complete initialization once active<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private final ProcedureEvent&lt;?&gt; initialized = new ProcedureEvent&lt;&gt;("master initialized");<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  // flag set after master services are started,<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  // initialization may have not completed yet.<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  volatile boolean serviceStarted = false;<a name="line.343"></a>
+<span class="sourceLineNo">315</span>  public static final String HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS =<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    "hbase.master.wait.on.service.seconds";<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  public static final int DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS = 5 * 60;<a name="line.317"></a>
+<span class="sourceLineNo">318</span><a name="line.318"></a>
+<span class="sourceLineNo">319</span>  // Metrics for the HMaster<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  final MetricsMaster metricsMaster;<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  // file system manager for the master FS operations<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  private MasterFileSystem fileSystemManager;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>  private MasterWalManager walManager;<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  // server manager to deal with region server info<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  private volatile ServerManager serverManager;<a name="line.326"></a>
+<span class="sourceLineNo">327</span><a name="line.327"></a>
+<span class="sourceLineNo">328</span>  // manager of assignment nodes in zookeeper<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  private AssignmentManager assignmentManager;<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>  // manager of replication<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  private ReplicationPeerManager replicationPeerManager;<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // buffer for "fatal error" notices from region servers<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  // in the cluster. This is only used for assisting<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  // operations/debugging.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  // flag set after we become the active master (used for testing)<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  private volatile boolean activeMaster = false;<a name="line.340"></a>
+<span class="sourceLineNo">341</span><a name="line.341"></a>
+<span class="sourceLineNo">342</span>  // flag set after we complete initialization once active<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private final ProcedureEvent&lt;?&gt; initialized = new ProcedureEvent&lt;&gt;("master initialized");<a name="line.343"></a>
 <span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  // flag set after we complete assignMeta.<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  private final ProcedureEvent&lt;?&gt; serverCrashProcessingEnabled =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    new ProcedureEvent&lt;&gt;("server crash processing");<a name="line.347"></a>
+<span class="sourceLineNo">345</span>  // flag set after master services are started,<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  // initialization may have not completed yet.<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  volatile boolean serviceStarted = false;<a name="line.347"></a>
 <span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>  // Maximum time we should run balancer for<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  private final int maxBlancingTime;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  // Maximum percent of regions in transition when balancing<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private final double maxRitPercent;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  private final LockManager lockManager = new LockManager(this);<a name="line.354"></a>
-<span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>  private LoadBalancer balancer;<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private RegionNormalizer normalizer;<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private BalancerChore balancerChore;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  private RegionNormalizerChore normalizerChore;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private ClusterStatusChore clusterStatusChore;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  CatalogJanitor catalogJanitorChore;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  private ReplicationMetaCleaner replicationMetaCleaner;<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  private LogCleaner logCleaner;<a name="line.365"></a>
-<span class="sourceLineNo">366</span>  private HFileCleaner hfileCleaner;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  private ExpiredMobFileCleanerChore expiredMobFileCleanerChore;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  private MobCompactionChore mobCompactChore;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  private MasterMobCompactionThread mobCompactThread;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  // used to synchronize the mobCompactionStates<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  // save the information of mob compactions in tables.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  MasterCoprocessorHost cpHost;<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>  private final boolean preLoadTableDescriptors;<a name="line.378"></a>
+<span class="sourceLineNo">349</span>  // flag set after we complete assignMeta.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  private final ProcedureEvent&lt;?&gt; serverCrashProcessingEnabled =<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    new ProcedureEvent&lt;&gt;("server crash processing");<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>  // Maximum time we should run balancer for<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  private final int maxBlancingTime;<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  // Maximum percent of regions in transition when balancing<a name="line.355"></a>
+<span class="sourceLineNo">356</span>  private final double maxRitPercent;<a name="line.356"></a>
+<span class="sourceLineNo">357</span><a name="line.357"></a>
+<span class="sourceLineNo">358</span>  private final LockManager lockManager = new LockManager(this);<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span>  private LoadBalancer balancer;<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  private RegionNormalizer normalizer;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>  private BalancerChore balancerChore;<a name="line.362"></a>
+<span class="sourceLineNo">363</span>  private RegionNormalizerChore normalizerChore;<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  private ClusterStatusChore clusterStatusChore;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.365"></a>
+<span class="sourceLineNo">366</span><a name="line.366"></a>
+<span class="sourceLineNo">367</span>  CatalogJanitor catalogJanitorChore;<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  private ReplicationMetaCleaner replicationMetaCleaner;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  private LogCleaner logCleaner;<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  private HFileCleaner hfileCleaner;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  private ExpiredMobFileCleanerChore expiredMobFileCleanerChore;<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  private MobCompactionChore mobCompactChore;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>  private MasterMobCompactionThread mobCompactThread;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>  // used to synchronize the mobCompactionStates<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.375"></a>
+<span class="sourceLineNo">376</span>  // save the information of mob compactions in tables.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.378"></a>
 <span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>  // Time stamps for when a hmaster became active<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  private long masterActiveTime;<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  // Time stamp for when HMaster finishes becoming Active Master<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  private long masterFinishedInitializationTime;<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  //should we check the compression codec type at master side, default true, HBASE-6370<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  private final boolean masterCheckCompression;<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>  //should we check encryption settings at master side, default true<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  private final boolean masterCheckEncryption;<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span>  Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.392"></a>
-<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span>  // monitor for snapshot of hbase tables<a name="line.394"></a>
-<span class="sourceLineNo">395</span>  SnapshotManager snapshotManager;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  // monitor for distributed procedures<a name="line.396"></a>
-<span class="sourceLineNo">397</span>  private MasterProcedureManagerHost mpmHost;<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>  // it is assigned after 'initialized' guard set to true, so should be volatile<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  private volatile MasterQuotaManager quotaManager;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>  private SpaceQuotaSnapshotNotifier spaceQuotaSnapshotNotifier;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  private QuotaObserverChore quotaObserverChore;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  private SnapshotQuotaObserverChore snapshotQuotaChore;<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>  private ProcedureExecutor&lt;MasterProcedureEnv&gt; procedureExecutor;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  private WALProcedureStore procedureStore;<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  // handle table states<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  private TableStateManager tableStateManager;<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>  private long splitPlanCount;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  private long mergePlanCount;<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  /* Handle favored nodes information */<a name="line.414"></a>
-<span class="sourceLineNo">415</span>  private FavoredNodesManager favoredNodesManager;<a name="line.415"></a>
-<span class="sourceLineNo">416</span><a name="line.416"></a>
-<span class="sourceLineNo">417</span>  /** jetty server for master to redirect requests to regionserver infoServer */<a name="line.417"></a>
-<span class="sourceLineNo">418</span>  private Server masterJettyServer;<a name="line.418"></a>
-<span class="sourceLineNo">419</span><a name="line.419"></a>
-<span class="sourceLineNo">420</span>  public static class RedirectServlet extends HttpServlet {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    private static final long serialVersionUID = 2894774810058302473L;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    private final int regionServerInfoPort;<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    private final String regionServerHostname;<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>     * @param infoServer that we're trying to send all requests to<a name="line.426"></a>
-<span class="sourceLineNo">427</span>     * @param hostname may be null. if given, will be used for redirects instead of host from client.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>     */<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    public RedirectServlet(InfoServer infoServer, String hostname) {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>       regionServerInfoPort = infoServer.getPort();<a name="line.430"></a>
-<span class="sourceLineNo">431</span>       regionServerHostname = hostname;<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    }<a name="line.432"></a>
-<span class="sourceLineNo">433</span><a name="line.433"></a>
-<span class="sourceLineNo">434</span>    @Override<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    public void doGet(HttpServletRequest request,<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        HttpServletResponse response) throws ServletException, IOException {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      String redirectHost = regionServerHostname;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      if(redirectHost == null) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        redirectHost = request.getServerName();<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        if(!Addressing.isLocalAddress(InetAddress.getByName(redirectHost))) {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>          LOG.warn("Couldn't resolve '" + redirectHost + "' as an address local to this node and '" +<a name="line.441"></a>
-<span class="sourceLineNo">442</span>              MASTER_HOSTNAME_KEY + "' is not set; client will get a HTTP 400 response. If " +<a name="line.442"></a>
-<span class="sourceLineNo">443</span>              "your HBase deployment relies on client accessible names that the region server process " +<a name="line.443"></a>
-<span class="sourceLineNo">444</span>              "can't resolve locally, then you should set the previously mentioned configuration variable " +<a name="line.444"></a>
-<span class="sourceLineNo">445</span>              "to an appropriate hostname.");<a name="line.445"></a>
-<span class="sourceLineNo">446</span>          // no sending client provided input back to the client, so the goal host is just in the logs.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>          response.sendError(400, "Request was to a host that I can't resolve for any of the network interfaces on " +<a name="line.447"></a>
-<span class="sourceLineNo">448</span>              "this node. If this is due to an intermediary such as an HTTP load balancer or other proxy, your HBase " +<a name="line.448"></a>
-<span class="sourceLineNo">449</span>              "administrator can set '" + MASTER_HOSTNAME_KEY + "' to point to the correct hostname.");<a name="line.449"></a>
-<span class="sourceLineNo">450</span>          return;<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        }<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      }<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      // TODO this scheme should come from looking at the scheme registered in the infoserver's http server for the<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      // host and port we're using, but it's buried way too deep to do that ATM.<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      String redirectUrl = request.getScheme() + "://"<a name="line.455"></a>
-<span class="sourceLineNo">456</span>        + redirectHost + ":" + regionServerInfoPort<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        + request.getRequestURI();<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      response.sendRedirect(redirectUrl);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span>  /**<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   * Initializes the HMaster. The steps are as follows:<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * &lt;p&gt;<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * &lt;ol&gt;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   * &lt;li&gt;Initialize the local HRegionServer<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * &lt;li&gt;Start the ActiveMasterManager.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * &lt;/ol&gt;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * &lt;p&gt;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   * Remaining steps of initialization occur in<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * #finishActiveMasterInitialization(MonitoredTask) after<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   * the master becomes the active one.<a name="line.472"></a>
-<span class="sourceLineNo">473</span>   */<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  public HMaster(final Configuration conf)<a name="line.474"></a

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html
index b7c24d7..eecd2f9 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html
@@ -44,792 +44,792 @@
 <span class="sourceLineNo">036</span>import java.util.List;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import java.util.Map;<a name="line.37"></a>
 <span class="sourceLineNo">038</span>import java.util.NavigableSet;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.Objects;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.PriorityQueue;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.concurrent.ArrayBlockingQueue;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.concurrent.BlockingQueue;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.ConcurrentMap;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentSkipListSet;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.Executors;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.TimeUnit;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.atomic.LongAdder;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.locks.Lock;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.conf.Configuration;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.io.hfile.BlockPriority;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.hfile.BlockType;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.hfile.CacheStats;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.hfile.Cacheable;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.hfile.Cacheable.MemoryType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializer;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializerIdManager;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.CachedBlock;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileBlock;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.IdReadWriteLock;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.util.IdReadWriteLock.ReferenceType;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.util.StringUtils;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.slf4j.Logger;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.slf4j.LoggerFactory;<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>/**<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * BucketCache uses {@link BucketAllocator} to allocate/free blocks, and uses<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * BucketCache#ramCache and BucketCache#backingMap in order to<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * determine if a given element is in the cache. The bucket cache can use on-heap or<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * off-heap memory {@link ByteBufferIOEngine} or in a file {@link FileIOEngine} to<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * store/read the block data.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> *<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;Eviction is via a similar algorithm as used in<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache}<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;p&gt;BucketCache can be used as mainly a block cache (see<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * {@link org.apache.hadoop.hbase.io.hfile.CombinedBlockCache}), combined with<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * LruBlockCache to decrease CMS GC and heap fragmentation.<a name="line.97"></a>
-<span class="sourceLineNo">098</span> *<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * &lt;p&gt;It also can be used as a secondary cache (e.g. using a file on ssd/fusionio to store<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * blocks) to enlarge cache space via<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache#setVictimCache}<a name="line.101"></a>
-<span class="sourceLineNo">102</span> */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>@InterfaceAudience.Private<a name="line.103"></a>
-<span class="sourceLineNo">104</span>public class BucketCache implements BlockCache, HeapSize {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  private static final Logger LOG = LoggerFactory.getLogger(BucketCache.class);<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  /** Priority buckets config */<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  static final String SINGLE_FACTOR_CONFIG_NAME = "hbase.bucketcache.single.factor";<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  static final String MULTI_FACTOR_CONFIG_NAME = "hbase.bucketcache.multi.factor";<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  static final String MEMORY_FACTOR_CONFIG_NAME = "hbase.bucketcache.memory.factor";<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  static final String EXTRA_FREE_FACTOR_CONFIG_NAME = "hbase.bucketcache.extrafreefactor";<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  static final String ACCEPT_FACTOR_CONFIG_NAME = "hbase.bucketcache.acceptfactor";<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  static final String MIN_FACTOR_CONFIG_NAME = "hbase.bucketcache.minfactor";<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /** Priority buckets */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  @VisibleForTesting<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  static final float DEFAULT_SINGLE_FACTOR = 0.25f;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  static final float DEFAULT_MULTI_FACTOR = 0.50f;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  static final float DEFAULT_MEMORY_FACTOR = 0.25f;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  static final float DEFAULT_MIN_FACTOR = 0.85f;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private static final float DEFAULT_EXTRA_FREE_FACTOR = 0.10f;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  private static final float DEFAULT_ACCEPT_FACTOR = 0.95f;<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  // Number of blocks to clear for each of the bucket size that is full<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  private static final int DEFAULT_FREE_ENTIRE_BLOCK_FACTOR = 2;<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>  /** Statistics thread */<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  private static final int statThreadPeriod = 5 * 60;<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  final static int DEFAULT_WRITER_THREADS = 3;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  final static int DEFAULT_WRITER_QUEUE_ITEMS = 64;<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  // Store/read block data<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  final IOEngine ioEngine;<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  // Store the block in this map before writing it to cache<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  @VisibleForTesting<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  final ConcurrentMap&lt;BlockCacheKey, RAMQueueEntry&gt; ramCache;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  // In this map, store the block's meta data like offset, length<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  @VisibleForTesting<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  ConcurrentMap&lt;BlockCacheKey, BucketEntry&gt; backingMap;<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * Flag if the cache is enabled or not... We shut it off if there are IO<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * errors for some time, so that Bucket IO exceptions/errors don't bring down<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * the HBase server.<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   */<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private volatile boolean cacheEnabled;<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 list of writer queues.  We have a queue per {@link WriterThread} we have running.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * In other words, the work adding blocks to the BucketCache is divided up amongst the<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * running WriterThreads.  Its done by taking hash of the cache key modulo queue count.<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * WriterThread when it runs takes whatever has been recently added and 'drains' the entries<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * to the BucketCache.  It then updates the ramCache and backingMap accordingly.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @VisibleForTesting<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  final ArrayList&lt;BlockingQueue&lt;RAMQueueEntry&gt;&gt; writerQueues = new ArrayList&lt;&gt;();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  @VisibleForTesting<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  final WriterThread[] writerThreads;<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>  /** Volatile boolean to track if free space is in process or not */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  private volatile boolean freeInProgress = false;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  private final Lock freeSpaceLock = new ReentrantLock();<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>  private UniqueIndexMap&lt;Integer&gt; deserialiserMap = new UniqueIndexMap&lt;&gt;();<a name="line.167"></a>
-<span class="sourceLineNo">168</span><a name="line.168"></a>
-<span class="sourceLineNo">169</span>  private final LongAdder realCacheSize = new LongAdder();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  private final LongAdder heapSize = new LongAdder();<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  /** Current number of cached elements */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  private final LongAdder blockNumber = new LongAdder();<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  /** Cache access count (sequential ID) */<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  private final AtomicLong accessCount = new AtomicLong();<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>  private static final int DEFAULT_CACHE_WAIT_TIME = 50;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  // Used in test now. If the flag is false and the cache speed is very fast,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  // bucket cache will skip some blocks when caching. If the flag is true, we<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  // will wait blocks flushed to IOEngine for some time when caching<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  boolean wait_when_cache = false;<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  private final BucketCacheStats cacheStats = new BucketCacheStats();<a name="line.183"></a>
-<span class="sourceLineNo">184</span><a name="line.184"></a>
-<span class="sourceLineNo">185</span>  private final String persistencePath;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  private final long cacheCapacity;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  /** Approximate block size */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private final long blockSize;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  /** Duration of IO errors tolerated before we disable cache, 1 min as default */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private final int ioErrorsTolerationDuration;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  // 1 min<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  public static final int DEFAULT_ERROR_TOLERATION_DURATION = 60 * 1000;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>  // Start time of first IO error when reading or writing IO Engine, it will be<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  // reset after a successful read/write.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private volatile long ioErrorStartTime = -1;<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 ReentrantReadWriteLock to lock on a particular block identified by offset.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * The purpose of this is to avoid freeing the block which is being read.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * &lt;p&gt;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * Key set of offsets in BucketCache is limited so soft reference is the best choice here.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  @VisibleForTesting<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  final IdReadWriteLock offsetLock = new IdReadWriteLock(ReferenceType.SOFT);<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  private final NavigableSet&lt;BlockCacheKey&gt; blocksByHFile =<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      new ConcurrentSkipListSet&lt;&gt;(new Comparator&lt;BlockCacheKey&gt;() {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        public int compare(BlockCacheKey a, BlockCacheKey b) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>          int nameComparison = a.getHfileName().compareTo(b.getHfileName());<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          if (nameComparison != 0) {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>            return nameComparison;<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>          if (a.getOffset() == b.getOffset()) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>            return 0;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>          } else if (a.getOffset() &lt; b.getOffset()) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>            return -1;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>          }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>          return 1;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      });<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  /** Statistics thread schedule pool (for heavy debugging, could remove) */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private final ScheduledExecutorService scheduleThreadPool = Executors.newScheduledThreadPool(1,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    new ThreadFactoryBuilder().setNameFormat("BucketCacheStatsExecutor").setDaemon(true).build());<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  // Allocate or free space for the block<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  private BucketAllocator bucketAllocator;<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span>  /** Acceptable size of cache (no evictions if size &lt; acceptable) */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private float acceptableFactor;<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /** Minimum threshold of cache (when evicting, evict until size &lt; min) */<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  private float minFactor;<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /** Free this floating point factor of extra blocks when evicting. For example free the number of blocks requested * (1 + extraFreeFactor) */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private float extraFreeFactor;<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /** Single access bucket size */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private float singleFactor;<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /** Multiple access bucket size */<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  private float multiFactor;<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  /** In-memory bucket size */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private float memoryFactor;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  public BucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes,<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      int writerThreadNum, int writerQLen, String persistencePath) throws FileNotFoundException,<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      IOException {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    this(ioEngineName, capacity, blockSize, bucketSizes, writerThreadNum, writerQLen,<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      persistencePath, DEFAULT_ERROR_TOLERATION_DURATION, HBaseConfiguration.create());<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>  public BucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes,<a name="line.258"></a>
-<span class="sourceLineNo">259</span>                     int writerThreadNum, int writerQLen, String persistencePath, int ioErrorsTolerationDuration,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                     Configuration conf)<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throws FileNotFoundException, IOException {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    this.ioEngine = getIOEngineFromName(ioEngineName, capacity, persistencePath);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    this.writerThreads = new WriterThread[writerThreadNum];<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    long blockNumCapacity = capacity / blockSize;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (blockNumCapacity &gt;= Integer.MAX_VALUE) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      // Enough for about 32TB of cache!<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      throw new IllegalArgumentException("Cache capacity is too large, only support 32TB now");<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>    this.acceptableFactor = conf.getFloat(ACCEPT_FACTOR_CONFIG_NAME, DEFAULT_ACCEPT_FACTOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    this.minFactor = conf.getFloat(MIN_FACTOR_CONFIG_NAME, DEFAULT_MIN_FACTOR);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    this.extraFreeFactor = conf.getFloat(EXTRA_FREE_FACTOR_CONFIG_NAME, DEFAULT_EXTRA_FREE_FACTOR);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    this.singleFactor = conf.getFloat(SINGLE_FACTOR_CONFIG_NAME, DEFAULT_SINGLE_FACTOR);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    this.multiFactor = conf.getFloat(MULTI_FACTOR_CONFIG_NAME, DEFAULT_MULTI_FACTOR);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    this.memoryFactor = conf.getFloat(MEMORY_FACTOR_CONFIG_NAME, DEFAULT_MEMORY_FACTOR);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>    sanityCheckConfigs();<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>    LOG.info("Instantiating BucketCache with acceptableFactor: " + acceptableFactor + ", minFactor: " + minFactor +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        ", extraFreeFactor: " + extraFreeFactor + ", singleFactor: " + singleFactor + ", multiFactor: " + multiFactor +<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        ", memoryFactor: " + memoryFactor);<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    this.cacheCapacity = capacity;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    this.persistencePath = persistencePath;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    this.blockSize = blockSize;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    this.ioErrorsTolerationDuration = ioErrorsTolerationDuration;<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>    bucketAllocator = new BucketAllocator(capacity, bucketSizes);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    for (int i = 0; i &lt; writerThreads.length; ++i) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      writerQueues.add(new ArrayBlockingQueue&lt;&gt;(writerQLen));<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    assert writerQueues.size() == writerThreads.length;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    this.ramCache = new ConcurrentHashMap&lt;&gt;();<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    this.backingMap = new ConcurrentHashMap&lt;&gt;((int) blockNumCapacity);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if (ioEngine.isPersistent() &amp;&amp; persistencePath != null) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      try {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        retrieveFromFile(bucketSizes);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      } catch (IOException ioex) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        LOG.error("Can't restore from file because of", ioex);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      } catch (ClassNotFoundException cnfe) {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        LOG.error("Can't restore from file in rebuild because can't deserialise",cnfe);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        throw new RuntimeException(cnfe);<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>    final String threadName = Thread.currentThread().getName();<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    this.cacheEnabled = true;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    for (int i = 0; i &lt; writerThreads.length; ++i) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      writerThreads[i] = new WriterThread(writerQueues.get(i));<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      writerThreads[i].setName(threadName + "-BucketCacheWriter-" + i);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      writerThreads[i].setDaemon(true);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    startWriterThreads();<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    // Run the statistics thread periodically to print the cache statistics log<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    // TODO: Add means of turning this off.  Bit obnoxious running thread just to make a log<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    // every five minutes.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    this.scheduleThreadPool.scheduleAtFixedRate(new StatisticsThread(this),<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        statThreadPeriod, statThreadPeriod, TimeUnit.SECONDS);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    LOG.info("Started bucket cache; ioengine=" + ioEngineName +<a name="line.322"></a>
-<span class="sourceLineNo">323</span>        ", capacity=" + StringUtils.byteDesc(capacity) +<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      ", blockSize=" + StringUtils.byteDesc(blockSize) + ", writerThreadNum=" +<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        writerThreadNum + ", writerQLen=" + writerQLen + ", persistencePath=" +<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      persistencePath + ", bucketAllocator=" + this.bucketAllocator.getClass().getName());<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>  private void sanityCheckConfigs() {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Preconditions.checkArgument(acceptableFactor &lt;= 1 &amp;&amp; acceptableFactor &gt;= 0, ACCEPT_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    Preconditions.checkArgument(minFactor &lt;= 1 &amp;&amp; minFactor &gt;= 0, MIN_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Preconditions.checkArgument(minFactor &lt;= acceptableFactor, MIN_FACTOR_CONFIG_NAME + " must be &lt;= " + ACCEPT_FACTOR_CONFIG_NAME);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    Preconditions.checkArgument(extraFreeFactor &gt;= 0, EXTRA_FREE_FACTOR_CONFIG_NAME + " must be greater than 0.0");<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    Preconditions.checkArgument(singleFactor &lt;= 1 &amp;&amp; singleFactor &gt;= 0, SINGLE_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    Preconditions.checkArgument(multiFactor &lt;= 1 &amp;&amp; multiFactor &gt;= 0, MULTI_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    Preconditions.checkArgument(memoryFactor &lt;= 1 &amp;&amp; memoryFactor &gt;= 0, MEMORY_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    Preconditions.checkArgument((singleFactor + multiFactor + memoryFactor) == 1, SINGLE_FACTOR_CONFIG_NAME + ", " +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        MULTI_FACTOR_CONFIG_NAME + ", and " + MEMORY_FACTOR_CONFIG_NAME + " segments must add up to 1.0");<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  }<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  /**<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * Called by the constructor to start the writer threads. Used by tests that need to override<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * starting the threads.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @VisibleForTesting<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  protected void startWriterThreads() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    for (WriterThread thread : writerThreads) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      thread.start();<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>  @VisibleForTesting<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  boolean isCacheEnabled() {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    return this.cacheEnabled;<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>  @Override<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public long getMaxSize() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    return this.cacheCapacity;<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>  public String getIoEngine() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    return ioEngine.toString();<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>   * Get the IOEngine from the IO engine name<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @param ioEngineName<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * @param capacity<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * @param persistencePath<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @return the IOEngine<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @throws IOException<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  private IOEngine getIOEngineFromName(String ioEngineName, long capacity, String persistencePath)<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      throws IOException {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    if (ioEngineName.startsWith("file:") || ioEngineName.startsWith("files:")) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      // In order to make the usage simple, we only need the prefix 'files:' in<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      // document whether one or multiple file(s), but also support 'file:' for<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      // the compatibility<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      String[] filePaths = ioEngineName.substring(ioEngineName.indexOf(":") + 1)<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          .split(FileIOEngine.FILE_DELIMITER);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return new FileIOEngine(capacity, persistencePath != null, filePaths);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    } else if (ioEngineName.startsWith("offheap")) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      return new ByteBufferIOEngine(capacity);<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    } else if (ioEngineName.startsWith("mmap:")) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      return new FileMmapEngine(ioEngineName.substring(5), capacity);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    } else {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      throw new IllegalArgumentException(<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          "Don't understand io engine name for cache- prefix with file:, files:, mmap: or offheap");<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  }<a name="line.391"></a>
-<span class="sourceLineNo">392</span><a name="line.392"></a>
-<span class="sourceLineNo">393</span>  /**<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * Cache the block with the specified name and buffer.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * @param cacheKey block's cache key<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * @param buf block buffer<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   */<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public void cacheBlock(BlockCacheKey cacheKey, Cacheable buf) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    cacheBlock(cacheKey, buf, false);<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>   * Cache the block with the specified name and buffer.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param cacheKey block's cache key<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param cachedItem block buffer<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * @param inMemory if block is in-memory<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   */<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  @Override<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  public void cacheBlock(BlockCacheKey cacheKey, Cacheable cachedItem, boolean inMemory) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    cacheBlockWithWait(cacheKey, cachedItem, inMemory, wait_when_cache);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * Cache the block to ramCache<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @param cacheKey block's cache key<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @param cachedItem block buffer<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @param inMemory if block is in-memory<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * @param wait if true, blocking wait when queue is full<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   */<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  public void cacheBlockWithWait(BlockCacheKey cacheKey, Cacheable cachedItem, boolean inMemory,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      boolean wait) {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    if (LOG.isTraceEnabled()) LOG.trace("Caching key=" + cacheKey + ", item=" + cachedItem);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    if (!cacheEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      return;<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>    if (backingMap.containsKey(cacheKey)) {<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      Cacheable existingBlock = getBlock(cacheKey, false, false, false);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      try {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        if (BlockCacheUtil.compareCacheBlock(cachedItem, existingBlock) != 0) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>          throw new RuntimeException("Cached block contents differ, which should not have happened."<a name="line.432"></a>
-<span class="sourceLineNo">433</span>              + "cacheKey:" + cacheKey);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        }<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        String msg = "Caching an already cached block: " + cacheKey;<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        msg += ". This is harmless and can happen in rare cases (see HBASE-8547)";<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        LOG.warn(msg);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      } finally {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        // return the block since we need to decrement the count<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        returnBlock(cacheKey, existingBlock);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      }<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>    /*<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * Stuff the entry into the RAM cache so it can get drained to the persistent store<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    RAMQueueEntry re =<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        new RAMQueueEntry(cacheKey, cachedItem, accessCount.incrementAndGet(), inMemory);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    if (ramCache.putIfAbsent(cacheKey, re) != null) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      return;<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    }<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    int queueNum = (cacheKey.hashCode() &amp; 0x7FFFFFFF) % writerQueues.size();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    BlockingQueue&lt;RAMQueueEntry&gt; bq = writerQueues.get(queueNum);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    boolean successfulAddition = false;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    if (wait) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      try {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        successfulAddition = bq.offer(re, DEFAULT_CACHE_WAIT_TIME, TimeUnit.MILLISECONDS);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      } catch (InterruptedException e) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        Thread.currentThread().interrupt();<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    } else {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      successfulAddition = bq.offer(re);<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    if (!successfulAddition) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      ramCache.remove(cacheKey);<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      cacheStats.failInsert();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    } else {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      this.blockNumber.increment();<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      this.heapSize.add(cachedItem.heapSize());<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      blocksByHFile.add(cacheKey);<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>  /**<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * Get the buffer of the block with the specified key.<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * @param key block's cache key<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @param caching true if the caller caches blocks on cache misses<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * @param repeat Whether this is a repeat lookup for the same block<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @param updateCacheMetrics Whether we should update cache metrics or not<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @return buffer of specified cache key, or null if not in cache<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  @Override<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  public Cacheable getBlock(BlockCacheKey key, boolean caching, boolean repeat,<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      boolean updateCacheMetrics) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    if (!cacheEnabled) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return null;<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    RAMQueueEntry re = ramCache.get(key);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (re != null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      if (updateCacheMetrics) {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      }<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      re.access(accessCount.incrementAndGet());<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      return re.getData();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    }<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    BucketEntry bucketEntry = backingMap.get(key);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    if (bucketEntry != null) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      long start = System.nanoTime();<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      try {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>        lock.readLock().lock();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        // We can not read here even if backingMap does contain the given key because its offset<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        // maybe changed. If we lock BlockCacheKey instead of offset, then we can only check<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        // existence here.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>        if (bucketEntry.equals(backingMap.get(key))) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>          // TODO : change this area - should be removed after server cells and<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          // 12295 are available<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          int len = bucketEntry.getLength();<a name="line.509"></a>
-<span class="sourceLineNo">510</span>          if (LOG.isTraceEnabled()) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>            LOG.trace("Read offset=" + bucketEntry.offset() + ", len=" + len);<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          }<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          Cacheable cachedBlock = ioEngine.read(bucketEntry.offset(), len,<a name="line.513"></a>
-<span class="sourceLineNo">514</span>              bucketEntry.deserializerReference(this.deserialiserMap));<a name="line.514"></a>
-<span class="sourceLineNo">515</span>          long timeTaken = System.nanoTime() - start;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          if (updateCacheMetrics) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>            cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.517"></a>
-<span class="sourceLineNo">518</span>            cacheStats.ioHit(timeTaken);<a name="line.518"></a>
-<span class="sourceLineNo">519</span>          }<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          if (cachedBlock.getMemoryType() == MemoryType.SHARED) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>            bucketEntry.refCount.incrementAndGet();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>          bucketEntry.access(accessCount.incrementAndGet());<a name="line.523"></a>
-<span class="sourceLineNo">524</span>          if (this.ioErrorStartTime &gt; 0) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>            ioErrorStartTime = -1;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>          }<a name="line.526"></a>
-<span class="sourceLineNo">527</span>          return cachedBlock;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      } catch (IOException ioex) {<a name="line.529"></a>
-<span class="sourceLineNo">530</span>        LOG.error("Failed reading block " + key + " from bucket cache", ioex);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        checkIOErrorIsTolerated();<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      } finally {<a name="line.532"></a>
-<span class="sourceLineNo">533</span>        lock.readLock().unlock();<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>    if (!repeat &amp;&amp; updateCacheMetrics) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      cacheStats.miss(caching, key.isPrimary(), key.getBlockType());<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    return null;<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>  @VisibleForTesting<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  void blockEvicted(BlockCacheKey cacheKey, BucketEntry bucketEntry, boolean decrementBlockNumber) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    bucketAllocator.freeBlock(bucketEntry.offset());<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    realCacheSize.add(-1 * bucketEntry.getLength());<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    blocksByHFile.remove(cacheKey);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    if (decrementBlockNumber) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.blockNumber.decrement();<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>  }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>  @Override<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  public boolean evictBlock(BlockCacheKey cacheKey) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    return evictBlock(cacheKey, true);<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>  // does not check for the ref count. Just tries to evict it if found in the<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  // bucket map<a name="line.558"></a>
-<span class="sourceLineNo">559</span>  private boolean forceEvict(BlockCacheKey cacheKey) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    if (!cacheEnabled) {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      return false;<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    }<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    RAMQueueEntry removedBlock = checkRamCache(cacheKey);<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    BucketEntry bucketEntry = backingMap.get(cacheKey);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    if (bucketEntry == null) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      if (removedBlock != null) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>        cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.567"></a>
-<span class="sourceLineNo">568</span>        return true;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      } else {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>        return false;<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>    ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    try {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      lock.writeLock().lock();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (backingMap.remove(cacheKey, bucketEntry)) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        blockEvicted(cacheKey, bucketEntry, removedBlock == null);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      } else {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>        return false;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    } finally {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      lock.writeLock().unlock();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    cacheStats.evicted(bucketEntry.getCachedTime(), cacheKey.isPrimary());<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    return true;<a name="line.585"></a>
-<span class="sourceLineNo">586</span>  }<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>  private RAMQueueEntry checkRamCache(BlockCacheKey cacheKey) {<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    RAMQueueEntry removedBlock = ramCache.remove(cacheKey);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    if (removedBlock != null) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      this.blockNumber.decrement();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      this.heapSize.add(-1 * removedBlock.getData().heapSize());<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    }<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    return removedBlock;<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 boolean evictBlock(BlockCacheKey cacheKey, boolean deletedBlock) {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    if (!cacheEnabled) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      return false;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    }<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    RAMQueueEntry removedBlock = checkRamCache(cacheKey);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    BucketEntry bucketEntry = backingMap.get(cacheKey);<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    if (bucketEntry == null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      if (removedBlock != null) {<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        return true;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      } else {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>        return false;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      }<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    }<a name="line.610"></a>
-<span class="sourceLineNo">611</span>    ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    try {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      lock.writeLock().lock();<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      int refCount = bucketEntry.refCount.get();<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      if(refCount == 0) {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        if (backingMap.remove(cacheKey, bucketEntry)) {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>          blockEvicted(cacheKey, bucketEntry, removedBlock == null);<a name="line.617"></a>
-<span class="sourceLineNo">618</span>        } else {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>          return false;<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        }<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      } else {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>        if(!deletedBlock) {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>          if (LOG.isDebugEnabled()) {<a name="line.623"></a>
-<span class="sourceLineNo">624</span>            LOG.debug("This block " + cacheKey + " is still referred by " + refCount<a name="line.624"></a>
-<span class="sourceLineNo">625</span>                + " readers. Can not be freed now");<a name="line.625"></a>
-<span class="sourceLineNo">626</span>          }<a name="line.626"></a>
-<span class="sourceLineNo">627</span>          return false;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        } else {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>          if (LOG.isDebugEnabled()) {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>            LOG.debug("This block " + cacheKey + " is still referred by " + refCount<a name="line.630"></a>
-<span class="sourceLineNo">631</span>                + " readers. Can not be freed now. Hence will mark this"<a name="line.631"></a>
-<span class="sourceLineNo">632</span>                + " for evicting at a later point");<a name="line.632"></a>
-<span class="sourceLineNo">633</span>          }<a name="line.633"></a>
-<span class="sourceLineNo">634</span>          bucketEntry.markedForEvict = true;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        }<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      }<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    } finally {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      lock.writeLock().unlock();<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    }<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    cacheStats.evicted(bucketEntry.getCachedTime(), cacheKey.isPrimary());<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    return true;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>  }<a name="line.642"></a>
-<span class="sourceLineNo">643</span><a name="line.643"></a>
-<span class="sourceLineNo">644</span>  /*<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * Statistics thread.  Periodically output cache statistics to the log.<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  private static class StatisticsThread extends Thread {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    private final BucketCache bucketCache;<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span>    public StatisticsThread(BucketCache bucketCache) {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      super("BucketCacheStatsThread");<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      setDaemon(true);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      this.bucketCache = bucketCache;<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>    @Override<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    public void run() {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>      bucketCache.logStats();<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    }<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  }<a name="line.660"></a>
-<span class="sourceLineNo">661</span><a name="line.661"></a>
-<span class="sourceLineNo">662</span>  public void logStats() {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    long totalSize = bucketAllocator.getTotalSize();<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    long usedSize = bucketAllocator.getUsedSize();<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    long freeSize = totalSize - usedSize;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    long cacheSize = getRealCacheSize();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    LOG.info("failedBlockAdditions=" + cacheStats.getFailedInserts() + ", " +<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        "totalSize=" + StringUtils.byteDesc(totalSize) + ", " +<a name="line.668"></a>
-<span class="sourceLineNo">669</span>        "freeSize=" + StringUtils.byteDesc(freeSize) + ", " +<a name="line.669"></a>
-<span class="sourceLineNo">670</span>        "usedSize=" + StringUtils.byteDesc(usedSize) +", " +<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        "cacheSize=" + StringUtils.byteDesc(cacheSize) +", " +<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        "accesses=" + cacheStats.getRequestCount() + ", " +<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        "hits=" + cacheStats.getHitCount() + ", " +<a name="line.673"></a>
-<span class="sourceLineNo">674</span>        "IOhitsPerSecond=" + cacheStats.getIOHitsPerSecond() + ", " +<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        "IOTimePerHit=" + String.format("%.2f", cacheStats.getIOTimePerHit())+ ", " +<a name="line.675"></a>
-<span class="sourceLineNo">676</span>        "hitRatio=" + (cacheStats.getHitCount() == 0 ? "0," :<a name="line.676"></a>
-<span class="sourceLineNo">677</span>          (StringUtils.formatPercent(cacheStats.getHitRatio(), 2)+ ", ")) +<a name="line.677"></a>
-<span class="sourceLineNo">678</span>        "cachingAccesses=" + cacheStats.getRequestCachingCount() + ", " +<a name="line.678"></a>
-<span class="sourceLineNo">679</span>        "cachingHits=" + cacheStats.getHitCachingCount() + ", " +<a name="line.679"></a>
-<span class="sourceLineNo">680</span>        "cachingHitsRatio=" +(cacheStats.getHitCachingCount() == 0 ? "0," :<a name="line.680"></a>
-<span class="sourceLineNo">681</span>          (StringUtils.formatPercent(cacheStats.getHitCachingRatio(), 2)+ ", ")) +<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        "evictions=" + cacheStats.getEvictionCount() + ", " +<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        "evicted=" + cacheStats.getEvictedCount() + ", " +<a name="line.683"></a>
-<span class="sourceLineNo">684</span>        "evictedPerRun=" + cacheStats.evictedPerEviction());<a name="line.684"></a>
-<span class="sourceLineNo">685</span>    cacheStats.reset();<a name="line.685"></a>
-<span class="sourceLineNo">686</span>  }<a name="line.686"></a>
-<span class="sourceLineNo">687</span><a name="line.687"></a>
-<span class="sourceLineNo">688</span>  public long getRealCacheSize() {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    return this.realCacheSize.sum();<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>  private long acceptableSize() {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>    return (long) Math.floor(bucketAllocator.getTotalSize() * acceptableFactor);<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>  @VisibleForTesting<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  long getPartitionSize(float partitionFactor) {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return (long) Math.floor(bucketAllocator.getTotalSize() * partitionFactor * minFactor);<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>  /**<a name="line.701"></a>
-<span class="sourceLineNo">702</span>   * Return the count of bucketSizeinfos still need free space<a name="line.702"></a>
-<span class="sourceLineNo">703</span>   */<a name="line.703"></a>
-<span class="sourceLineNo">704</span>  private int bucketSizesAboveThresholdCount(float minFactor) {<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    int fullCount = 0;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    for (int i = 0; i &lt; stats.length; i++) {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      freeGoal = Math.max(freeGoal, 1);<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      if (stats[i].freeCount() &lt; freeGoal) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        fullCount++;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      }<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    }<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    return fullCount;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>  }<a name="line.715"></a>
-<span class="sourceLineNo">716</span><a name="line.716"></a>
-<span class="sourceLineNo">717</span>  /**<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * This method will find the buckets that are minimally occupied<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   * and are not reference counted and will free them completely<a name="line.719"></a>
-<span class="sourceLineNo">720</span>   * without any constraint on the access times of the elements,<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   * and as a process will completely free at most the number of buckets<a name="line.721"></a>
-<span class="sourceLineNo">722</span>   * passed, sometimes it might not due to changing refCounts<a name="line.722"></a>
-<span class="sourceLineNo">723</span>   *<a name="line.723"></a>
-<span class="sourceLineNo">724</span>   * @param completelyFreeBucketsNeeded number of buckets to free<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   **/<a name="line.725"></a>
-<span class="sourceLineNo">726</span>  private void freeEntireBuckets(int completelyFreeBucketsNeeded) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    if (completelyFreeBucketsNeeded != 0) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      // First we will build a set where the offsets are reference counted, usually<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      // this set is small around O(Handler Count) unless something else is wrong<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      Set&lt;Integer&gt; inUseBuckets = new HashSet&lt;Integer&gt;();<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      for (BucketEntry entry : backingMap.values()) {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>        if (entry.refCount.get() != 0) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>          inUseBuckets.add(bucketAllocator.getBucketIndex(entry.offset()));<a name="line.733"></a>
-<span class="sourceLineNo">734</span>        }<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>      Set&lt;Integer&gt; candidateBuckets = bucketAllocator.getLeastFilledBuckets(<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          inUseBuckets, completelyFreeBucketsNeeded);<a name="line.738"></a>
-<span class="sourceLineNo">739</span>      for (Map.Entry&lt;BlockCacheKey, BucketEntry&gt; entry : backingMap.entrySet()) {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>        if (candidateBuckets.contains(bucketAllocator<a name="line.740"></a>
-<span class="sourceLineNo">741</span>            .getBucketIndex(entry.getValue().offset()))) {<a name="line.741"></a>
-<span class="sourceLineNo">742</span>          evictBlock(entry.getKey(), false);<a name="line.742"></a>
-<span class="sourceLineNo">743</span>        }<a name="line.743"></a>
-<span class="sourceLineNo">744</span>      }<a name="line.744"></a>
-<span class="sourceLineNo">745</span>    }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>  }<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>   * Free the space if the used size reaches acceptableSize() or one size block<a name="line.749"></a>
-<span class="sourceLineNo">750</span>   * couldn't be allocated. When freeing the space, we use the LRU algorithm and<a name="line.750"></a>
-<span class="sourceLineNo">751</span>   * ensure there must be some blocks evicted<a name="line.751"></a>
-<span class="sourceLineNo">752</span>   * @param why Why we are being called<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   */<a name="line.753"></a>
-<span class="sourceLineNo">754</span>  private void freeSpace(final String why) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span>    // Ensure only one freeSpace progress at a time<a name="line.755"></a>
-<span class="sourceLineNo">756</span>    if (!freeSpaceLock.tryLock()) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    try {<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      freeInProgress = true;<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      long bytesToFreeWithoutExtra = 0;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // Calculate free byte for each bucketSizeinfo<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      StringBuilder msgBuffer = LOG.isDebugEnabled()? new StringBuilder(): null;<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      long[] bytesToFreeForBucket = new long[stats.length];<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      for (int i = 0; i &lt; stats.length; i++) {<a name="line.766"></a>
-<span class="sourceLineNo">767</span>        bytesToFreeForBucket[i] = 0;<a name="line.767"></a>
-<span class="sourceLineNo">768</span>        long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.768"></a>
-<span class="sourceLineNo">769</span>        freeGoal = Math.max(freeGoal, 1);<a name="line.769"></a>
-<span class="sourceLineNo">770</span>        if (stats[i].freeCount() &lt; freeGoal) {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>          bytesToFreeForBucket[i] = stats[i].itemSize() * (freeGoal - stats[i].freeCount());<a name="line.771"></a>
-<span class="sourceLineNo">772</span>          bytesToFreeWithoutExtra += bytesToFreeForBucket[i];<a name="line.772"></a>
-<span class="sourceLineNo">773</span>          if (msgBuffer != null) {<a name="line.773"></a>
-<span class="sourceLineNo">774</span>            msgBuffer.append("Free for bucketSize(" + stats[i].itemSize() + ")="<a name="line.774"></a>
-<span class="sourceLineNo">775</span>              + StringUtils.byteDesc(bytesToFreeForBucket[i]) + ", ");<a name="line.775"></a>
-<span class="sourceLineNo">776</span>          }<a name="line.776"></a>
-<span class="sourceLineNo">777</span>        }<a name="line.777"></a>
-<span class="sourceLineNo">778</span>      }<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      if (msgBuffer != null) {<a name="line.779"></a>
-<span class="sourceLineNo">780</span>        msgBuffer.append("Free for total=" + StringUtils.byteDesc(bytesToFreeWithoutExtra) + ", ");<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>      if (bytesToFreeWithoutExtra &lt;= 0) {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        return;<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      }<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      long currentSize = bucketAllocator.getUsedSize();<a name="line.786"></a>
-<span class="sourceLineNo">787</span>      long totalSize = bucketAllocator.getTotalSize();<a name="line.787"></a>
-<span class="sourceLineNo">788</span>      if (LOG.isDebugEnabled() &amp;&amp; msgBuffer != null) {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>        LOG.debug("Free started because \"" + why + "\"; " + msgBuffer.toString() +<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          " of current used=" + StringUtils.byteDesc(currentSize) + ", actual cacheSize=" +<a name="line.790"></a>
-<span class="sourceLineNo">791</span>          StringUtils.byteDesc(realCacheSize.sum()) + ", total=" + StringUtils.byteDesc(totalSize));<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>      long bytesToFreeWithExtra = (long) Math.floor(bytesToFreeWithoutExtra<a name="line.794"></a>
-<span class="sourceLineNo">795</span>          * (1 + extraFreeFactor));<a name="line.795"></a>
-<span class="sourceLineNo">796</span><a name="line.796"></a>
-<span class="sourceLineNo">797</span>      // Instantiate priority buckets<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      BucketEntryGroup bucketSingle = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.798"></a>
-<span class="sourceLineNo">799</span>          blockSize, getPartitionSize(singleFactor));<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      BucketEntryGroup bucketMulti = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          blockSize, getPartitionSize(multiFactor));<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      BucketEntryGroup bucketMemory = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.802"></a>
-<span class="sourceLineNo">803</span>          blockSize, getPartitionSize(memoryFactor));<a name="line.803"></a>
-<span class="sourceLineNo">804</span><a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Scan entire map putting bucket entry into appropriate bucket entry<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // group<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      for (Map.Entry&lt;BlockCacheKey, BucketEntry&gt; bucketEntryWithKey : backingMap.entrySet()) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>        switch (bucketEntryWithKey.getValue().getPriority()) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>          case SINGLE: {<a name="line.809"></a>
-<span class="sourceLineNo">810</span>            bucketSingle.add(bucketEntryWithKey);<a name="line.810"></a>
-<span class="sourceLineNo">811</span>            break;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>          }<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          case MULTI: {<a name="line.813"></a>
-<span class="sourceLineNo">814</span>            bucketMulti.add(bucketEntryWithKey);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>            break;<a name="line.815"></a>
-<span class="sourceLineNo">816</span>          }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>          case MEMORY: {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>            bucketMemory.add(bucketEntryWithKey);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>            break;<a name="line.819"></a>
-<span class="sourceLineNo">820</span>          }<a name="line.820"></a>
-<span class="sourceLineNo">821</span>        }<a name="line.821"></a>
-<span class="sourceLineNo">822</span>      }<a name="line.822"></a>
-<span class="sourceLineNo">823</span><a name="line.823"></a>
-<span class="sourceLineNo">824</span>      PriorityQueue&lt;BucketEntryGroup&gt; bucketQueue = new PriorityQueue&lt;&gt;(3);<a name="line.824"></a>
+<span class="sourceLineNo">039</span>import java.util.PriorityQueue;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.Set;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.concurrent.ArrayBlockingQueue;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.concurrent.BlockingQueue;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentMap;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.ConcurrentSkipListSet;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.Executors;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.TimeUnit;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.atomic.LongAdder;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.locks.Lock;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.conf.Configuration;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.io.hfile.BlockPriority;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.io.hfile.BlockType;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.hfile.CacheStats;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.hfile.Cacheable;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.hfile.Cacheable.MemoryType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializer;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializerIdManager;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CachedBlock;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFileBlock;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.IdReadWriteLock;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.IdReadWriteLock.ReferenceType;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.util.StringUtils;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.slf4j.Logger;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.slf4j.LoggerFactory;<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;<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> * BucketCache uses {@link BucketAllocator} to allocate/free blocks, and uses<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * BucketCache#ramCache and BucketCache#backingMap in order to<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * determine if a given element is in the cache. The bucket cache can use on-heap or<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * off-heap memory {@link ByteBufferIOEngine} or in a file {@link FileIOEngine} to<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * store/read the block data.<a name="line.89"></a>
+<span class="sourceLineNo">090</span> *<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * &lt;p&gt;Eviction is via a similar algorithm as used in<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache}<a name="line.92"></a>
+<span class="sourceLineNo">093</span> *<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;p&gt;BucketCache can be used as mainly a block cache (see<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * {@link org.apache.hadoop.hbase.io.hfile.CombinedBlockCache}), combined with<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * LruBlockCache to decrease CMS GC and heap fragmentation.<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;p&gt;It also can be used as a secondary cache (e.g. using a file on ssd/fusionio to store<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * blocks) to enlarge cache space via<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache#setVictimCache}<a name="line.100"></a>
+<span class="sourceLineNo">101</span> */<a name="line.101"></a>
+<span class="sourceLineNo">102</span>@InterfaceAudience.Private<a name="line.102"></a>
+<span class="sourceLineNo">103</span>public class BucketCache implements BlockCache, HeapSize {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  private static final Logger LOG = LoggerFactory.getLogger(BucketCache.class);<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /** Priority buckets config */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  static final String SINGLE_FACTOR_CONFIG_NAME = "hbase.bucketcache.single.factor";<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  static final String MULTI_FACTOR_CONFIG_NAME = "hbase.bucketcache.multi.factor";<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  static final String MEMORY_FACTOR_CONFIG_NAME = "hbase.bucketcache.memory.factor";<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  static final String EXTRA_FREE_FACTOR_CONFIG_NAME = "hbase.bucketcache.extrafreefactor";<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  static final String ACCEPT_FACTOR_CONFIG_NAME = "hbase.bucketcache.acceptfactor";<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  static final String MIN_FACTOR_CONFIG_NAME = "hbase.bucketcache.minfactor";<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  /** Priority buckets */<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  @VisibleForTesting<a name="line.115"></a>
+<span cl

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
index 279ef5b..542c7a7 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.222">HRegion</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.223">HRegion</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" title="interface in org.apache.hadoop.hbase.io">HeapSize</a>, <a href="../../../../../org/apache/hadoop/hbase/conf/PropagatingConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">PropagatingConfigurationObserver</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></pre>
 <div class="block">Regions store data for a certain region of a table.  It stores all columns
@@ -790,13 +790,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-boolean-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
                  byte[]&nbsp;family,
                  byte[]&nbsp;qualifier,
                  <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                  <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
-                 <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm,
-                 boolean&nbsp;writeToWAL)</code>
+                 <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)</code>
 <div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
  it performs the row mutations.</div>
 </td>
@@ -1018,14 +1017,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </tr>
 <tr id="i53" class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-org.apache.hadoop.hbase.client.Mutation-boolean-">doCheckAndRowMutate</a></span>(byte[]&nbsp;row,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-org.apache.hadoop.hbase.client.Mutation-">doCheckAndRowMutate</a></span>(byte[]&nbsp;row,
                    byte[]&nbsp;family,
                    byte[]&nbsp;qualifier,
                    <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                    <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                    <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rowMutations,
-                   <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
-                   boolean&nbsp;writeToWAL)</code>
+                   <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
 <div class="block">checkAndMutate and checkAndRowMutate are 90% the same.</div>
 </td>
 </tr>
@@ -2292,7 +2290,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <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/HRegion.html#line.223">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.224">LOG</a></pre>
 </li>
 </ul>
 <a name="LOAD_CFS_ON_DEMAND_CONFIG_KEY">
@@ -2301,7 +2299,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>LOAD_CFS_ON_DEMAND_CONFIG_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.225">LOAD_CFS_ON_DEMAND_CONFIG_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.226">LOAD_CFS_ON_DEMAND_CONFIG_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.LOAD_CFS_ON_DEMAND_CONFIG_KEY">Constant Field Values</a></dd>
@@ -2314,7 +2312,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_MAX_CELL_SIZE_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.228">HBASE_MAX_CELL_SIZE_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.229">HBASE_MAX_CELL_SIZE_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.HBASE_MAX_CELL_SIZE_KEY">Constant Field Values</a></dd>
@@ -2327,7 +2325,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MAX_CELL_SIZE</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.229">DEFAULT_MAX_CELL_SIZE</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.230">DEFAULT_MAX_CELL_SIZE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_MAX_CELL_SIZE">Constant Field Values</a></dd>
@@ -2340,7 +2338,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_REGIONSERVER_MINIBATCH_SIZE</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.231">HBASE_REGIONSERVER_MINIBATCH_SIZE</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.232">HBASE_REGIONSERVER_MINIBATCH_SIZE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.HBASE_REGIONSERVER_MINIBATCH_SIZE">Constant Field Values</a></dd>
@@ -2353,7 +2351,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.233">DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.234">DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE">Constant Field Values</a></dd>
@@ -2366,7 +2364,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_DURABILITY</h4>
-<pre>private static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.239">DEFAULT_DURABILITY</a></pre>
+<pre>private static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.240">DEFAULT_DURABILITY</a></pre>
 <div class="block">This is the global default value for durability. All tables/mutations not
  defining a durability or using USE_DEFAULT will default to this value.</div>
 </li>
@@ -2377,7 +2375,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>closed</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.241">closed</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.242">closed</a></pre>
 </li>
 </ul>
 <a name="closing">
@@ -2386,7 +2384,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>closing</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.248">closing</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.249">closing</a></pre>
 </li>
 </ul>
 <a name="maxFlushedSeqId">
@@ -2395,7 +2393,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>maxFlushedSeqId</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.254">maxFlushedSeqId</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.255">maxFlushedSeqId</a></pre>
 <div class="block">The max sequence id of flushed data on this region. There is no edit in memory that is
  less that this sequence id.</div>
 </li>
@@ -2406,7 +2404,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>lastFlushOpSeqId</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.261">lastFlushOpSeqId</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.262">lastFlushOpSeqId</a></pre>
 <div class="block">Record the sequence id of last flush operation. Can be in advance of
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxFlushedSeqId"><code>maxFlushedSeqId</code></a> when flushing a single column family. In this case,
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#maxFlushedSeqId"><code>maxFlushedSeqId</code></a> will be older than the oldest edit in memory.</div>
@@ -2418,7 +2416,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>lastReplayedOpenRegionSeqId</h4>
-<pre>protected volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.268">lastReplayedOpenRegionSeqId</a></pre>
+<pre>protected volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.269">lastReplayedOpenRegionSeqId</a></pre>
 <div class="block">The sequence id of the last replayed open region event from the primary region. This is used
  to skip entries before this due to the possibility of replay edits coming out of order from
  replication.</div>
@@ -2430,7 +2428,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>lastReplayedCompactionSeqId</h4>
-<pre>protected volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.269">lastReplayedCompactionSeqId</a></pre>
+<pre>protected volatile&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.270">lastReplayedCompactionSeqId</a></pre>
 </li>
 </ul>
 <a name="lockedRows">
@@ -2439,7 +2437,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>lockedRows</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.280">lockedRows</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.281">lockedRows</a></pre>
 </li>
 </ul>
 <a name="stores">
@@ -2448,7 +2446,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>stores</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.283">stores</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.284">stores</a></pre>
 </li>
 </ul>
 <a name="coprocessorServiceHandlers">
@@ -2457,7 +2455,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorServiceHandlers</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.protobuf.Service&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.287">coprocessorServiceHandlers</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.protobuf.Service&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.288">coprocessorServiceHandlers</a></pre>
 </li>
 </ul>
 <a name="memstoreDataSize">
@@ -2466,7 +2464,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>memstoreDataSize</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.289">memstoreDataSize</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.290">memstoreDataSize</a></pre>
 </li>
 </ul>
 <a name="regionServicesForStores">
@@ -2475,7 +2473,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServicesForStores</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServicesForStores.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServicesForStores</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.290">regionServicesForStores</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServicesForStores.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServicesForStores</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.291">regionServicesForStores</a></pre>
 </li>
 </ul>
 <a name="numMutationsWithoutWAL">
@@ -2484,7 +2482,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>numMutationsWithoutWAL</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.293">numMutationsWithoutWAL</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.294">numMutationsWithoutWAL</a></pre>
 </li>
 </ul>
 <a name="dataInMemoryWithoutWAL">
@@ -2493,7 +2491,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>dataInMemoryWithoutWAL</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.294">dataInMemoryWithoutWAL</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.295">dataInMemoryWithoutWAL</a></pre>
 </li>
 </ul>
 <a name="checkAndMutateChecksPassed">
@@ -2502,7 +2500,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutateChecksPassed</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.297">checkAndMutateChecksPassed</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.298">checkAndMutateChecksPassed</a></pre>
 </li>
 </ul>
 <a name="checkAndMutateChecksFailed">
@@ -2511,7 +2509,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutateChecksFailed</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.298">checkAndMutateChecksFailed</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.299">checkAndMutateChecksFailed</a></pre>
 </li>
 </ul>
 <a name="readRequestsCount">
@@ -2520,7 +2518,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>readRequestsCount</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.302">readRequestsCount</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.303">readRequestsCount</a></pre>
 </li>
 </ul>
 <a name="filteredReadRequestsCount">
@@ -2529,7 +2527,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>filteredReadRequestsCount</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.303">filteredReadRequestsCount</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.304">filteredReadRequestsCount</a></pre>
 </li>
 </ul>
 <a name="writeRequestsCount">
@@ -2538,7 +2536,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRequestsCount</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.305">writeRequestsCount</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.306">writeRequestsCount</a></pre>
 </li>
 </ul>
 <a name="blockedRequestsCount">
@@ -2547,7 +2545,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>blockedRequestsCount</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.308">blockedRequestsCount</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.309">blockedRequestsCount</a></pre>
 </li>
 </ul>
 <a name="compactionsFinished">
@@ -2556,7 +2554,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>compactionsFinished</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.311">compactionsFinished</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.312">compactionsFinished</a></pre>
 </li>
 </ul>
 <a name="compactionsFailed">
@@ -2565,7 +2563,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>compactionsFailed</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.312">compactionsFailed</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.313">compactionsFailed</a></pre>
 </li>
 </ul>
 <a name="compactionNumFilesCompacted">
@@ -2574,7 +2572,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>compactionNumFilesCompacted</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.313">compactionNumFilesCompacted</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.314">compactionNumFilesCompacted</a></pre>
 </li>
 </ul>
 <a name="compactionNumBytesCompacted">
@@ -2583,7 +2581,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>compactionNumBytesCompacted</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.314">compactionNumBytesCompacted</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.315">compactionNumBytesCompacted</a></pre>
 </li>
 </ul>
 <a name="compactionsQueued">
@@ -2592,7 +2590,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>compactionsQueued</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.315">compactionsQueued</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.316">compactionsQueued</a></pre>
 </li>
 </ul>
 <a name="flushesQueued">
@@ -2601,7 +2599,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>flushesQueued</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.316">flushesQueued</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.317">flushesQueued</a></pre>
 </li>
 </ul>
 <a name="wal">
@@ -2610,7 +2608,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>wal</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.318">wal</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.319">wal</a></pre>
 </li>
 </ul>
 <a name="fs">
@@ -2619,7 +2617,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>fs</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.319">fs</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.320">fs</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -2628,7 +2626,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <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/regionserver/HRegion.html#line.320">conf</a></pre>
+<pre>protected final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.321">conf</a></pre>
 </li>
 </ul>
 <a name="baseConf">
@@ -2637,7 +2635,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>baseConf</h4>
-<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.321">baseConf</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.322">baseConf</a></pre>
 </li>
 </ul>
 <a name="rowLockWaitDuration">
@@ -2646,7 +2644,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>rowLockWaitDuration</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.322">rowLockWaitDuration</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.323">rowLockWaitDuration</a></pre>
 </li>
 </ul>
 <a name="DEFAULT_ROWLOCK_WAIT_DURATION">
@@ -2655,7 +2653,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_ROWLOCK_WAIT_DURATION</h4>
-<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.323">DEFAULT_ROWLOCK_WAIT_DURATION</a></pre>
+<pre>static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.324">DEFAULT_ROWLOCK_WAIT_DURATION</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_ROWLOCK_WAIT_DURATION">Constant Field Values</a></dd>
@@ -2668,7 +2666,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>busyWaitDuration</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.331">busyWaitDuration</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.332">busyWaitDuration</a></pre>
 </li>
 </ul>
 <a name="DEFAULT_BUSY_WAIT_DURATION">
@@ -2677,7 +2675,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_BUSY_WAIT_DURATION</h4>
-<pre>static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.332">DEFAULT_BUSY_WAIT_DURATION</a></pre>
+<pre>static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.333">DEFAULT_BUSY_WAIT_DURATION</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_BUSY_WAIT_DURATION">Constant Field Values</a></dd>
@@ -2690,7 +2688,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>maxBusyWaitMultiplier</h4>
-<pre>final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.337">maxBusyWaitMultiplier</a></pre>
+<pre>final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.338">maxBusyWaitMultiplier</a></pre>
 </li>
 </ul>
 <a name="maxBusyWaitDuration">
@@ -2699,7 +2697,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>maxBusyWaitDuration</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.341">maxBusyWaitDuration</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.342">maxBusyWaitDuration</a></pre>
 </li>
 </ul>
 <a name="maxCellSize">
@@ -2708,7 +2706,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>maxCellSize</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.345">maxCellSize</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.346">maxCellSize</a></pre>
 </li>
 </ul>
 <a name="miniBatchSize">
@@ -2717,7 +2715,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>miniBatchSize</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.348">miniBatchSize</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.349">miniBatchSize</a></pre>
 </li>
 </ul>
 <a name="DEFAULT_ROW_PROCESSOR_TIMEOUT">
@@ -2726,7 +2724,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_ROW_PROCESSOR_TIMEOUT</h4>
-<pre>static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.351">DEFAULT_ROW_PROCESSOR_TIMEOUT</a></pre>
+<pre>static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.352">DEFAULT_ROW_PROCESSOR_TIMEOUT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_ROW_PROCESSOR_TIMEOUT">Constant Field Values</a></dd>
@@ -2739,7 +2737,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>rowProcessorExecutor</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.352">rowProcessorExecutor</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.353">rowProcessorExecutor</a></pre>
 </li>
 </ul>
 <a name="scannerReadPoints">
@@ -2748,7 +2746,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>scannerReadPoints</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.354">scannerReadPoints</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.355">scannerReadPoints</a></pre>
 </li>
 </ul>
 <a name="openSeqNum">
@@ -2757,7 +2755,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>openSeqNum</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.359">openSeqNum</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.360">openSeqNum</a></pre>
 <div class="block">The sequence ID that was enLongAddered when this region was opened.</div>
 </li>
 </ul>
@@ -2767,7 +2765,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>isLoadingCfsOnDemandDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.365">isLoadingCfsOnDemandDefault</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.366">isLoadingCfsOnDemandDefault</a></pre>
 <div class="block">The default setting for whether to enable on-demand CF loading for
  scan requests to this region. Requests can override it.</div>
 </li>
@@ -2778,7 +2776,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>majorInProgress</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.367">majorInProgress</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.368">majorInProgress</a></pre>
 </li>
 </ul>
 <a name="minorInProgress">
@@ -2787,7 +2785,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>minorInProgress</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.368">minorInProgress</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.369">minorInProgress</a></pre>
 </li>
 </ul>
 <a name="maxSeqIdInStores">
@@ -2796,7 +2794,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>maxSeqIdInStores</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.376">maxSeqIdInStores</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.377">maxSeqIdInStores</a></pre>
 </li>
 </ul>
 <a name="prepareFlushResult">
@@ -2805,7 +2803,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareFlushResult</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.379">prepareFlushResult</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.380">prepareFlushResult</a></pre>
 <div class="block">Saved state from replaying prepare flush cache</div>
 </li>
 </ul>
@@ -2815,7 +2813,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>configurationManager</h4>
-<pre>private volatile&nbsp;<a href="http://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/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.381">configurationManager</a></pre>
+<pre>private volatile&nbsp;<a href="http://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/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.382">configurationManager</a></pre>
 </li>
 </ul>
 <a name="timeoutForWriteLock">
@@ -2824,7 +2822,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>timeoutForWriteLock</h4>
-<pre>private volatile&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.384">timeoutForWriteLock</a></pre>
+<pre>private volatile&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.385">timeoutForWriteLock</a></pre>
 </li>
 </ul>
 <a name="writestate">
@@ -2833,7 +2831,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>writestate</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.WriteState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.634">writestate</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.WriteState</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.635">writestate</a></pre>
 </li>
 </ul>
 <a name="memstoreFlushSize">
@@ -2842,7 +2840,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>memstoreFlushSize</h4>
-<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.636">memstoreFlushSize</a></pre>
+<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.637">memstoreFlushSize</a></pre>
 </li>
 </ul>
 <a name="timestampSlop">
@@ -2851,7 +2849,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>timestampSlop</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.637">timestampSlop</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.638">timestampSlop</a></pre>
 </li>
 </ul>
 <a name="rowProcessorTimeout">
@@ -2860,7 +2858,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>rowProcessorTimeout</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.638">rowProcessorTimeout</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.639">rowProcessorTimeout</a></pre>
 </li>
 </ul>
 <a name="lastStoreFlushTimeMap">
@@ -2869,7 +2867,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>lastStoreFlushTimeMap</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.641">lastStoreFlushTimeMap</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.642">lastStoreFlushTimeMap</a></pre>
 </li>
 </ul>
 <a name="rsServices">
@@ -2878,7 +2876,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>rsServices</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.643">rsServices</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.644">rsServices</a></pre>
 </li>
 </ul>
 <a name="rsAccounting">
@@ -2887,7 +2885,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>rsAccounting</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.644">rsAccounting</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.645">rsAccounting</a></pre>
 </li>
 </ul>
 <a name="flushCheckInterval">
@@ -2896,7 +2894,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>flushCheckInterval</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.645">flushCheckInterval</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.646">flushCheckInterval</a></pre>
 </li>
 </ul>
 <a name="flushPerChanges">
@@ -2905,7 +2903,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>flushPerChanges</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.647">flushPerChanges</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.648">flushPerChanges</a></pre>
 </li>
 </ul>
 <a name="blockingMemStoreSize">
@@ -2914,7 +2912,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>blockingMemStoreSize</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.648">blockingMemStoreSize</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.649">blockingMemStoreSize</a></pre>
 </li>
 </ul>
 <a name="lock">
@@ -2923,7 +2921,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>lock</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.650">lock</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.651">lock</a></pre>
 </li>
 </ul>
 <a name="updatesLock">
@@ -2932,7 +2930,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>updatesLock</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.653">updatesLock</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.654">updatesLock</a></pre>
 </li>
 </ul>
 <a name="splitRequest">
@@ -2941,7 +2939,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>splitRequest</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.654">splitRequest</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.655">splitRequest</a></pre>
 </li>
 </ul>
 <a name="explicitSplitPoint">
@@ -2950,7 +2948,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>explicitSplitPoint</h4>
-<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.655">explicitSplitPoint</a></pre>
+<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.656">explicitSplitPoint</a></pre>
 </li>
 </ul>
 <a name="mvcc">
@@ -2959,7 +2957,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>mvcc</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.657">mvcc</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.658">mvcc</a></pre>
 </li>
 </ul>
 <a name="coprocessorHost">
@@ -2968,7 +2966,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorHost</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.660">coprocessorHost</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.661">coprocessorHost</a></pre>
 </li>
 </ul>
 <a name="htableDescriptor">
@@ -2977,7 +2975,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>htableDescriptor</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.662">htableDescriptor</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.663">htableDescriptor</a></pre>
 </li>
 </ul>
 <a name="splitPolicy">
@@ -2986,7 +2984,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>splitPolicy</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">RegionSplitPolicy</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.663">splitPolicy</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">RegionSplitPolicy</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.664">splitPolicy</a></pre>
 </li>
 </ul>
 <a name="flushPolicy">
@@ -2995,7 +2993,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>flushPolicy</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">FlushPolicy</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.664">flushPolicy</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">FlushPolicy</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.665">flushPolicy</a></pre>
 </li>
 </ul>
 <a name="metricsRegion">
@@ -3004,7 +3002,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>metricsRegion</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.666">metricsRegion</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.667">metricsRegion</a></pre>
 </li>
 </ul>
 <a name="metricsRegionWrapper">
@@ -3013,7 +3011,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>metricsRegionWrapper</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapperImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.667">metricsRegionWrapper</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionWrapperImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.668">metricsRegionWrapper</a></pre>
 </li>
 </ul>
 <a name="regionDurability">
@@ -3022,7 +3020,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>regionDurability</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.668">regionDurability</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.669">regionDurability</a></pre>
 </li>
 </ul>
 <a name="regionStatsEnabled">
@@ -3031,7 +3029,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>regionStatsEnabled</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.669">regionStatsEnabled</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.670">regionStatsEnabled</a></pre>
 </li>
 </ul>
 <a name="replicationScope">
@@ -3040,7 +3038,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationScope</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.672">replicationScope</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.673">replicationScope</a></pre>
 </li>
 </ul>
 <a name="closeLock">
@@ -3049,7 +3047,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>closeLock</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1389">closeLock</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1390">closeLock</a></pre>
 </li>
 </ul>
 <a name="MEMSTORE_PERIODIC_FLUSH_INTERVAL">
@@ -3058,7 +3056,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>MEMSTORE_PERIODIC_FLUSH_INTERVAL</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1392">MEMSTORE_PERIODIC_FLUSH_INTERVAL</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1393">MEMSTORE_PERIODIC_FLUSH_INTERVAL</a></pre>
 <div class="block">Conf key for the periodic flush interval</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3072,7 +3070,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CACHE_FLUSH_INTERVAL</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1395">DEFAULT_CACHE_FLUSH_INTERVAL</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1396">DEFAULT_CACHE_FLUSH_INTERVAL</a></pre>
 <div class="block">Default interval for the memstore flush</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3086,7 +3084,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>SYSTEM_CACHE_FLUSH_INTERVAL</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1397">SYSTEM_CACHE_FLUSH_INTERVAL</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1398">SYSTEM_CACHE_FLUSH_INTERVAL</a></pre>
 <div class="block">Default interval for System tables memstore flush</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3100,7 +3098,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>MEMSTORE_FLUSH_PER_CHANGES</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1400">MEMSTORE_FLUSH_PER_CHANGES</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1401">MEMSTORE_FLUSH_PER_CHANGES</a></pre>
 <div class="block">Conf key to force a flush if there are already enough changes for one region in memstore</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3114,7 +3112,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_FLUSH_PER_CHANGES</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1402">DEFAULT_FLUSH_PER_CHANGES</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1403">DEFAULT_FLUSH_PER_CHANGES</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_FLUSH_PER_CHANGES">Constant Field Values</a></dd>
@@ -3127,7 +3125,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>MAX_FLUSH_PER_CHANGES</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1407">MAX_FLUSH_PER_CHANGES</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1408">MAX_FLUSH_PER_CHANGES</a></pre>
 <div class="block">The following MAX_FLUSH_PER_CHANGES is large enough because each KeyValue has 20+ bytes
  overhead. Therefore, even 1G empty KVs occupy at least 20GB memstore size for a single region</div>
 <dl>
@@ -3142,7 +3140,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>FOR_UNIT_TESTS_ONLY</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2829">FOR_UNIT_TESTS_ONLY</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2830">FOR_UNIT_TESTS_ONLY</a></pre>
 <div class="block">Row needed by below method.</div>
 </li>
 </ul>
@@ -3152,7 +3150,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>FIXED_OVERHEAD</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7880">FIXED_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7879">FIXED_OVERHEAD</a></pre>
 </li>
 </ul>
 <a name="DEEP_OVERHEAD">
@@ -3161,7 +3159,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEEP_OVERHEAD</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7897">DEEP_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7896">DEEP_OVERHEAD</a></pre>
 </li>
 </ul>
 <a name="MOCKED_LIST">
@@ -3170,7 +3168,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MOCKED_LIST</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8292">MOCKED_LIST</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8291">MOCKED_LIST</a></pre>
 <div class="block">A mocked list implementation - discards all updates.</div>
 </li>
 </ul>
@@ -3189,7 +3187,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <li class="blockList">
 <h4>HRegion</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.698">HRegion</a>(org.apache.hadoop.fs.Path&nbsp;tableDir,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.699">HRegion</a>(org.apache.hadoop.fs.Path&nbsp;tableDir,
                            <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                            org.apache.hadoop.fs.FileSystem&nbsp;fs,
                            org.apache.hadoop.conf.Configuration&nbsp;confParam,
@@ -3225,7 +3223,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegion</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.721">HRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;fs,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.722">HRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;fs,
                <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                org.apache.hadoop.conf.Configuration&nbsp;confParam,
                <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
@@ -3262,7 +3260,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
 <ul class="blockList">
 <li class="blockList">
 <h4>getSmallestReadPoint</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.391">getSmallestReadPoint</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.392">getSmallestReadPoint</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The smallest mvcc readPoint across all the scanners in this
@@ -3277,7 +3275,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
 <ul class="blockList">
 <li class="blockList">
 <h4>setHTableSpecificConf</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.825">setHTableSpecificConf</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.826">setHTableSpecificConf</a>()</pre>
 </li>
 </ul>
 <a name="initialize--">
@@ -3287,7 +3285,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
 <li class="blockList">
 <h4>initialize</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.848">initialize</a>()
+public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.849">initialize</a>()
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use HRegion.createHRegion() or HRegion.openHRegion()</span></div>
 <div class="block">Initialize this region.
@@ -3307,7 +3305,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.859">initialize</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.860">initialize</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Initialize this region.</div>
 <dl>
@@ -3326,7 +3324,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeRegionInternals</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.882">initializeRegionInternals</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.883">initializeRegionInternals</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
                                        <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -3341,7 +3339,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeStores</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.984">initializeStores</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.985">initializeStores</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
                               <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Open all Stores.</div>
@@ -3362,7 +3360,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeWarmup</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1058">initializeWarmup</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1059">initializeWarmup</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3376,7 +3374,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFiles</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1072">getStoreFiles</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1073">getStoreFiles</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Map of StoreFiles by column family</dd>
@@ -3389,7 +3387,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRegionOpenMarker</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1088">writeRegionOpenMarker</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1089">writeRegionOpenMarker</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                    long&nbsp;openSeqId)
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -3404,7 +3402,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRegionCloseMarker</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1097">writeRegionCloseMarker</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1098">writeRegionCloseMarker</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3418,7 +3416,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>hasReferences</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1117">hasReferences</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1118">hasReferences</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></d

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html
index be30ce5..6a3eec9 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html
@@ -126,7 +126,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2870">HBaseFsck.TableInfo.IntegrityFixSuggester</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2866">HBaseFsck.TableInfo.IntegrityFixSuggester</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html" title="class in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandlerImpl</a></pre>
 </li>
 </ul>
@@ -267,7 +267,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrity
 <ul class="blockListLast">
 <li class="blockList">
 <h4>errors</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2871">errors</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2867">errors</a></pre>
 </li>
 </ul>
 </li>
@@ -284,7 +284,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrity
 <ul class="blockListLast">
 <li class="blockList">
 <h4>IntegrityFixSuggester</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2873">IntegrityFixSuggester</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;ti,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2869">IntegrityFixSuggester</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;ti,
                       <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a>&nbsp;errors)</pre>
 </li>
 </ul>
@@ -302,7 +302,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrity
 <ul class="blockList">
 <li class="blockList">
 <h4>handleRegionStartKeyNotEmpty</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2879">handleRegionStartKeyNotEmpty</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hi)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2875">handleRegionStartKeyNotEmpty</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hi)
                                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html#handleRegionStartKeyNotEmpty-org.apache.hadoop.hbase.util.HBaseFsck.HbckInfo-">TableIntegrityErrorHandlerImpl</a></code></span></div>
 <div class="block">Callback for handling case where a Table has a first region that does not
@@ -327,7 +327,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrity
 <ul class="blockList">
 <li class="blockList">
 <h4>handleRegionEndKeyNotEmpty</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2887">handleRegionEndKeyNotEmpty</a>(byte[]&nbsp;curEndKey)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2883">handleRegionEndKeyNotEmpty</a>(byte[]&nbsp;curEndKey)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html#handleRegionEndKeyNotEmpty-byte:A-">TableIntegrityErrorHandlerImpl</a></code></span></div>
 <div class="block">Callback for handling case where a Table has a last region that does not
@@ -351,7 +351,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrity
 <ul class="blockList">
 <li class="blockList">
 <h4>handleDegenerateRegion</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2894">handleDegenerateRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hi)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2890">handleDegenerateRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hi)
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html#handleDegenerateRegion-org.apache.hadoop.hbase.util.HBaseFsck.HbckInfo-">TableIntegrityErrorHandlerImpl</a></code></span></div>
 <div class="block">Callback for handling a region that has the same start and end key.</div>
@@ -373,7 +373,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrity
 <ul class="blockList">
 <li class="blockList">
 <h4>handleDuplicateStartKeys</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2900">handleDuplicateStartKeys</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;r1,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2896">handleDuplicateStartKeys</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;r1,
                                      <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;r2)
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html#handleDuplicateStartKeys-org.apache.hadoop.hbase.util.HBaseFsck.HbckInfo-org.apache.hadoop.hbase.util.HBaseFsck.HbckInfo-">TableIntegrityErrorHandlerImpl</a></code></span></div>
@@ -398,7 +398,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrity
 <ul class="blockList">
 <li class="blockList">
 <h4>handleSplit</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2912">handleSplit</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;r1,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2908">handleSplit</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;r1,
                         <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;r2)
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html#handleSplit-org.apache.hadoop.hbase.util.HBaseFsck.HbckInfo-org.apache.hadoop.hbase.util.HBaseFsck.HbckInfo-">TableIntegrityErrorHandler</a></code></span></div>
@@ -419,7 +419,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrity
 <ul class="blockList">
 <li class="blockList">
 <h4>handleOverlapInRegionChain</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2924">handleOverlapInRegionChain</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hi1,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2920">handleOverlapInRegionChain</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hi1,
                                        <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hi2)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html#handleOverlapInRegionChain-org.apache.hadoop.hbase.util.HBaseFsck.HbckInfo-org.apache.hadoop.hbase.util.HBaseFsck.HbckInfo-">TableIntegrityErrorHandlerImpl</a></code></span></div>
@@ -446,7 +446,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrity
 <ul class="blockListLast">
 <li class="blockList">
 <h4>handleHoleInRegionChain</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2931">handleHoleInRegionChain</a>(byte[]&nbsp;holeStart,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html#line.2927">handleHoleInRegionChain</a>(byte[]&nbsp;holeStart,
                                     byte[]&nbsp;holeStop)
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html#handleHoleInRegionChain-byte:A-byte:A-">TableIntegrityErrorHandlerImpl</a></code></span></div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html
index 9dbfcc4..acfacc6 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.2775">HBaseFsck.TableInfo</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.2771">HBaseFsck.TableInfo</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Maintain information about a particular table.</div>
 </li>
@@ -293,7 +293,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>tableName</h4>
-<pre><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/util/HBaseFsck.TableInfo.html#line.2776">tableName</a></pre>
+<pre><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/util/HBaseFsck.TableInfo.html#line.2772">tableName</a></pre>
 </li>
 </ul>
 <a name="deployedOn">
@@ -302,7 +302,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>deployedOn</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeSet.html?is-external=true" title="class or interface in java.util">TreeSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2777">deployedOn</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeSet.html?is-external=true" title="class or interface in java.util">TreeSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2773">deployedOn</a></pre>
 </li>
 </ul>
 <a name="backwards">
@@ -311,7 +311,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>backwards</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2780">backwards</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2776">backwards</a></pre>
 </li>
 </ul>
 <a name="sidelinedRegions">
@@ -320,7 +320,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>sidelinedRegions</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.hadoop.fs.Path,<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2783">sidelinedRegions</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.hadoop.fs.Path,<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2779">sidelinedRegions</a></pre>
 </li>
 </ul>
 <a name="sc">
@@ -329,7 +329,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>sc</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitCalculator.html" title="class in org.apache.hadoop.hbase.util">RegionSplitCalculator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2786">sc</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/RegionSplitCalculator.html" title="class in org.apache.hadoop.hbase.util">RegionSplitCalculator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2782">sc</a></pre>
 </li>
 </ul>
 <a name="htds">
@@ -338,7 +338,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>htds</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2789">htds</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2785">htds</a></pre>
 </li>
 </ul>
 <a name="overlapGroups">
@@ -347,7 +347,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>overlapGroups</h4>
-<pre>final&nbsp;org.apache.hbase.thirdparty.com.google.common.collect.Multimap&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2792">overlapGroups</a></pre>
+<pre>final&nbsp;org.apache.hbase.thirdparty.com.google.common.collect.Multimap&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2788">overlapGroups</a></pre>
 </li>
 </ul>
 <a name="regionsFromMeta">
@@ -356,7 +356,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>regionsFromMeta</h4>
-<pre>private&nbsp;org.apache.hbase.thirdparty.com.google.common.collect.ImmutableList&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2796">regionsFromMeta</a></pre>
+<pre>private&nbsp;org.apache.hbase.thirdparty.com.google.common.collect.ImmutableList&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2792">regionsFromMeta</a></pre>
 </li>
 </ul>
 </li>
@@ -373,7 +373,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TableInfo</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2798">TableInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2794">TableInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;name)</pre>
 </li>
 </ul>
 </li>
@@ -390,7 +390,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getHTD</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/util/HBaseFsck.TableInfo.html#line.2806">getHTD</a>()</pre>
+<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/util/HBaseFsck.TableInfo.html#line.2802">getHTD</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>descriptor common to all regions.  null if are none or multiple!</dd>
@@ -403,7 +403,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>addRegionInfo</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2816">addRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hir)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2812">addRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hir)</pre>
 </li>
 </ul>
 <a name="addServer-org.apache.hadoop.hbase.ServerName-">
@@ -412,7 +412,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>addServer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2841">addServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2837">addServer</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server)</pre>
 </li>
 </ul>
 <a name="getName--">
@@ -421,7 +421,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2845">getName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2841">getName</a>()</pre>
 </li>
 </ul>
 <a name="getNumRegions--">
@@ -430,7 +430,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumRegions</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2849">getNumRegions</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2845">getNumRegions</a>()</pre>
 </li>
 </ul>
 <a name="getRegionsFromMeta--">
@@ -439,7 +439,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionsFromMeta</h4>
-<pre>public&nbsp;org.apache.hbase.thirdparty.com.google.common.collect.ImmutableList&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2853">getRegionsFromMeta</a>()</pre>
+<pre>public&nbsp;org.apache.hbase.thirdparty.com.google.common.collect.ImmutableList&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2849">getRegionsFromMeta</a>()</pre>
 </li>
 </ul>
 <a name="checkRegionChain-org.apache.hadoop.hbase.util.hbck.TableIntegrityErrorHandler-">
@@ -448,7 +448,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>checkRegionChain</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.3308">checkRegionChain</a>(<a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html" title="interface in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandler</a>&nbsp;handler)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.3304">checkRegionChain</a>(<a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html" title="interface in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandler</a>&nbsp;handler)
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Check the region chain (from META) of this table.  We are looking for
  holes, overlaps, and cycles.</div>
@@ -466,7 +466,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>handleOverlapsParallel</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.3438">handleOverlapsParallel</a>(<a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html" title="interface in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandler</a>&nbsp;handler,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.3434">handleOverlapsParallel</a>(<a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html" title="interface in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandler</a>&nbsp;handler,
                                        byte[]&nbsp;prevKey)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -481,7 +481,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>dump</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.3475">dump</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;byte[]&gt;&nbsp;splits,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.3471">dump</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;byte[]&gt;&nbsp;splits,
           org.apache.hbase.thirdparty.com.google.common.collect.Multimap&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt;&nbsp;regions)</pre>
 <div class="block">This dumps data in a visually reasonable way for visual debugging</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html
index 3d9e91b..8a26b29 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4336">HBaseFsck.WorkItemHdfsDir</a>
+<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4332">HBaseFsck.WorkItemHdfsDir</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</pre>
 <div class="block">Contact hdfs and get all information about specified table directory into
@@ -218,7 +218,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockList">
 <li class="blockList">
 <h4>tableDir</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.FileStatus <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html#line.4337">tableDir</a></pre>
+<pre>private&nbsp;org.apache.hadoop.fs.FileStatus <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html#line.4333">tableDir</a></pre>
 </li>
 </ul>
 <a name="errors">
@@ -227,7 +227,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockList">
 <li class="blockList">
 <h4>errors</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html#line.4338">errors</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html#line.4334">errors</a></pre>
 </li>
 </ul>
 <a name="fs">
@@ -236,7 +236,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>fs</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html#line.4339">fs</a></pre>
+<pre>private&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html#line.4335">fs</a></pre>
 </li>
 </ul>
 </li>
@@ -253,7 +253,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WorkItemHdfsDir</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html#line.4341">WorkItemHdfsDir</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html#line.4337">WorkItemHdfsDir</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                 <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a>&nbsp;errors,
                 org.apache.hadoop.fs.FileStatus&nbsp;status)</pre>
 </li>
@@ -272,7 +272,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html#line.4349">call</a>()
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsDir.html#line.4345">call</a>()
           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></pre>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html
index 8762b4b..d880dcc 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4456">HBaseFsck.WorkItemHdfsRegionInfo</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4452">HBaseFsck.WorkItemHdfsRegionInfo</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</pre>
 <div class="block">Contact hdfs and get all information about specified table directory into
@@ -218,7 +218,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockList">
 <li class="blockList">
 <h4>hbi</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html#line.4457">hbi</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html#line.4453">hbi</a></pre>
 </li>
 </ul>
 <a name="hbck">
@@ -227,7 +227,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockList">
 <li class="blockList">
 <h4>hbck</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html#line.4458">hbck</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html#line.4454">hbck</a></pre>
 </li>
 </ul>
 <a name="errors">
@@ -236,7 +236,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>errors</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html#line.4459">errors</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html#line.4455">errors</a></pre>
 </li>
 </ul>
 </li>
@@ -253,7 +253,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WorkItemHdfsRegionInfo</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html#line.4461">WorkItemHdfsRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hbi,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html#line.4457">WorkItemHdfsRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hbi,
                        <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck</a>&nbsp;hbck,
                        <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a>&nbsp;errors)</pre>
 </li>
@@ -272,7 +272,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html#line.4468">call</a>()
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemHdfsRegionInfo.html#line.4464">call</a>()
           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemOverlapMerge.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemOverlapMerge.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemOverlapMerge.html
index d0b0985..a87a846 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemOverlapMerge.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemOverlapMerge.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.2756">HBaseFsck.WorkItemOverlapMerge</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.2752">HBaseFsck.WorkItemOverlapMerge</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</pre>
 </li>
@@ -211,7 +211,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockList">
 <li class="blockList">
 <h4>handler</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html" title="interface in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandler</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemOverlapMerge.html#line.2757">handler</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html" title="interface in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandler</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemOverlapMerge.html#line.2753">handler</a></pre>
 </li>
 </ul>
 <a name="overlapgroup">
@@ -220,7 +220,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>overlapgroup</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemOverlapMerge.html#line.2758">overlapgroup</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemOverlapMerge.html#line.2754">overlapgroup</a></pre>
 </li>
 </ul>
 </li>
@@ -237,7 +237,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WorkItemOverlapMerge</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemOverlapMerge.html#line.2760">WorkItemOverlapMerge</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt;&nbsp;overlapgroup,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemOverlapMerge.html#line.2756">WorkItemOverlapMerge</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt;&nbsp;overlapgroup,
                      <a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html" title="interface in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandler</a>&nbsp;handler)</pre>
 </li>
 </ul>
@@ -255,7 +255,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemOverlapMerge.html#line.2766">call</a>()
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemOverlapMerge.html#line.2762">call</a>()
           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html
index 05176ae..9488fef 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4271">HBaseFsck.WorkItemRegion</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4267">HBaseFsck.WorkItemRegion</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</pre>
 <div class="block">Contact a region server and get all information from it</div>
@@ -226,7 +226,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockList">
 <li class="blockList">
 <h4>hbck</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html#line.4272">hbck</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html#line.4268">hbck</a></pre>
 </li>
 </ul>
 <a name="rsinfo">
@@ -235,7 +235,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockList">
 <li class="blockList">
 <h4>rsinfo</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/util/HBaseFsck.WorkItemRegion.html#line.4273">rsinfo</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/util/HBaseFsck.WorkItemRegion.html#line.4269">rsinfo</a></pre>
 </li>
 </ul>
 <a name="errors">
@@ -244,7 +244,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockList">
 <li class="blockList">
 <h4>errors</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html#line.4274">errors</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html#line.4270">errors</a></pre>
 </li>
 </ul>
 <a name="connection">
@@ -253,7 +253,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>connection</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html#line.4275">connection</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html#line.4271">connection</a></pre>
 </li>
 </ul>
 </li>
@@ -270,7 +270,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WorkItemRegion</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html#line.4277">WorkItemRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck</a>&nbsp;hbck,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html#line.4273">WorkItemRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck</a>&nbsp;hbck,
                <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;info,
                <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a>&nbsp;errors,
                <a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a>&nbsp;connection)</pre>
@@ -290,7 +290,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockList">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html#line.4286">call</a>()
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html#line.4282">call</a>()
           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -306,7 +306,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filterRegions</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html#line.4320">filterRegions</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regions)</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.WorkItemRegion.html#line.4316">filterRegions</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regions)</pre>
 </li>
 </ul>
 </li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 477c8ee..4a5ac27 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="20180201" />
+    <meta name="Date-Revision-yyyymmdd" content="20180202" />
     <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" />
@@ -286,10 +286,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>3520</td>
+<td>3524</td>
 <td>0</td>
 <td>0</td>
-<td>16622</td></tr></table></div>
+<td>16593</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -1572,7 +1572,7 @@
 <td><a href="#org.apache.hadoop.hbase.client.RowMutations.java">org/apache/hadoop/hbase/client/RowMutations.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>4</td></tr>
+<td>1</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.client.RpcRetryingCaller.java">org/apache/hadoop/hbase/client/RpcRetryingCaller.java</a></td>
 <td>0</td>
@@ -2497,7 +2497,7 @@
 <td><a href="#org.apache.hadoop.hbase.coprocessor.TestRegionObserverStacking.java">org/apache/hadoop/hbase/coprocessor/TestRegionObserverStacking.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>2</td></tr>
+<td>1</td></tr>
 <tr class="b">
 <td><a href="#org.apache.hadoop.hbase.coprocessor.TestRowProcessorEndpoint.java">org/apache/hadoop/hbase/coprocessor/TestRowProcessorEndpoint.java</a></td>
 <td>0</td>
@@ -2509,7622 +2509,7602 @@
 <td>0</td>
 <td>18</td></tr>
 <tr class="b">
-<td><a href="#org.apache.hadoop.hbase.coprocessor.TestWALObserver.java">org/apache/hadoop/hbase/coprocessor/TestWALObserver.java</a></td>
-<td>0</td>
-<td>0</td>
-<td>1</td></tr>
-<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.coprocessor.WALCoprocessor.java">org/apache/hadoop/hbase/coprocessor/WALCoprocessor.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.coprocessor.WALCoprocessorEnvironment.java">org/apache/hadoop/hbase/coprocessor/WALCoprocessorEnvironment.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.coprocessor.WALObserver.java">org/apache/hadoop/hbase/coprocessor/WALObserver.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.coprocessor.example.BulkDeleteEndpoint.java">org/apache/hadoop/hbase/coprocessor/example/BulkDeleteEndpoint.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.coprocessor.example.ExampleMasterObserverWithMetrics.java">org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.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.coprocessor.example.RefreshHFilesEndpoint.java">org/apache/hadoop/hbase/coprocessor/example/RefreshHFilesEndpoint.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.coprocessor.example.RowCountEndpoint.java">org/apache/hadoop/hbase/coprocessor/example/RowCountEndpoint.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.coprocessor.example.TestRefreshHFilesEndpoint.java">org/apache/hadoop/hbase/coprocessor/example/TestRefreshHFilesEndpoint.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.coprocessor.package-info.java">org/apache/hadoop/hbase/coprocessor/package-info.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.errorhandling.ForeignException.java">org/apache/hadoop/hbase/errorhandling/ForeignException.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.errorhandling.ForeignExceptionDispatcher.java">org/apache/hadoop/hbase/errorhandling/ForeignExceptionDispatcher.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.errorhandling.TestForeignExceptionDispatcher.java">org/apache/hadoop/hbase/errorhandling/TestForeignExceptionDispatcher.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.errorhandling.TestForeignExceptionSerialization.java">org/apache/hadoop/hbase/errorhandling/TestForeignExceptionSerialization.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.errorhandling.TimeoutExceptionInjector.java">org/apache/hadoop/hbase/errorhandling/TimeoutExceptionInjector.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.exceptions.ClientExceptionsUtil.java">org/apache/hadoop/hbase/exceptions/ClientExceptionsUtil.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.exceptions.FailedSanityCheckException.java">org/apache/hadoop/hbase/exceptions/FailedSanityCheckException.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.exceptions.MergeRegionException.java">org/apache/hadoop/hbase/exceptions/MergeRegionException.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.exceptions.TestClientExceptionsUtil.java">org/apache/hadoop/hbase/exceptions/TestClientExceptionsUtil.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.executor.EventHandler.java">org/apache/hadoop/hbase/executor/EventHandler.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.executor.EventType.java">org/apache/hadoop/hbase/executor/EventType.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>39</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.executor.ExecutorService.java">org/apache/hadoop/hbase/executor/ExecutorService.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.executor.ExecutorType.java">org/apache/hadoop/hbase/executor/ExecutorType.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.favored.FavoredNodeAssignmentHelper.java">org/apache/hadoop/hbase/favored/FavoredNodeAssignmentHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>27</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.favored.FavoredNodeLoadBalancer.java">org/apache/hadoop/hbase/favored/FavoredNodeLoadBalancer.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.favored.FavoredNodesPlan.java">org/apache/hadoop/hbase/favored/FavoredNodesPlan.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.favored.FavoredNodesPromoter.java">org/apache/hadoop/hbase/favored/FavoredNodesPromoter.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.favored.StartcodeAgnosticServerName.java">org/apache/hadoop/hbase/favored/StartcodeAgnosticServerName.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.favored.TestFavoredNodeAssignmentHelper.java">org/apache/hadoop/hbase/favored/TestFavoredNodeAssignmentHelper.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.filter.BigDecimalComparator.java">org/apache/hadoop/hbase/filter/BigDecimalComparator.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.filter.BinaryComparator.java">org/apache/hadoop/hbase/filter/BinaryComparator.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.filter.BinaryPrefixComparator.java">org/apache/hadoop/hbase/filter/BinaryPrefixComparator.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.filter.BitComparator.java">org/apache/hadoop/hbase/filter/BitComparator.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.filter.ByteArrayComparable.java">org/apache/hadoop/hbase/filter/ByteArrayComparable.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.filter.ColumnCountGetFilter.java">org/apache/hadoop/hbase/filter/ColumnCountGetFilter.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.filter.ColumnPaginationFilter.java">org/apache/hadoop/hbase/filter/ColumnPaginationFilter.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.filter.ColumnPrefixFilter.java">org/apache/hadoop/hbase/filter/ColumnPrefixFilter.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.filter.ColumnRangeFilter.java">org/apache/hadoop/hbase/filter/ColumnRangeFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.CompareFilter.java">org/apache/hadoop/hbase/filter/CompareFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.DependentColumnFilter.java">org/apache/hadoop/hbase/filter/DependentColumnFilter.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.filter.FamilyFilter.java">org/apache/hadoop/hbase/filter/FamilyFilter.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.filter.Filter.java">org/apache/hadoop/hbase/filter/Filter.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.filter.FilterAllFilter.java">org/apache/hadoop/hbase/filter/FilterAllFilter.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.filter.FilterBase.java">org/apache/hadoop/hbase/filter/FilterBase.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.filter.FilterList.java">org/apache/hadoop/hbase/filter/FilterList.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.filter.FilterListBase.java">org/apache/hadoop/hbase/filter/FilterListBase.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.filter.FilterListWithAND.java">org/apache/hadoop/hbase/filter/FilterListWithAND.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.filter.FilterListWithOR.java">org/apache/hadoop/hbase/filter/FilterListWithOR.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>100</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.FilterTestingCluster.java">org/apache/hadoop/hbase/filter/FilterTestingCluster.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.filter.FilterWrapper.java">org/apache/hadoop/hbase/filter/FilterWrapper.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.filter.FirstKeyOnlyFilter.java">org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.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.filter.FirstKeyValueMatchingQualifiersFilter.java">org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.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.filter.FuzzyRowFilter.java">org/apache/hadoop/hbase/filter/FuzzyRowFilter.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.filter.InclusiveStopFilter.java">org/apache/hadoop/hbase/filter/InclusiveStopFilter.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.filter.KeyOnlyFilter.java">org/apache/hadoop/hbase/filter/KeyOnlyFilter.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.filter.LongComparator.java">org/apache/hadoop/hbase/filter/LongComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.MultiRowRangeFilter.java">org/apache/hadoop/hbase/filter/MultiRowRangeFilter.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.filter.MultipleColumnPrefixFilter.java">org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.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.filter.NullComparator.java">org/apache/hadoop/hbase/filter/NullComparator.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.filter.PageFilter.java">org/apache/hadoop/hbase/filter/PageFilter.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.filter.ParseConstants.java">org/apache/hadoop/hbase/filter/ParseConstants.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.filter.ParseFilter.java">org/apache/hadoop/hbase/filter/ParseFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>48</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.PrefixFilter.java">org/apache/hadoop/hbase/filter/PrefixFilter.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.filter.QualifierFilter.java">org/apache/hadoop/hbase/filter/QualifierFilter.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.filter.RandomRowFilter.java">org/apache/hadoop/hbase/filter/RandomRowFilter.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.filter.RegexStringComparator.java">org/apache/hadoop/hbase/filter/RegexStringComparator.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.filter.RowFilter.java">org/apache/hadoop/hbase/filter/RowFilter.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.filter.SingleColumnValueExcludeFilter.java">org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.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.filter.SingleColumnValueFilter.java">org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>22</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.SkipFilter.java">org/apache/hadoop/hbase/filter/SkipFilter.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.filter.SubstringComparator.java">org/apache/hadoop/hbase/filter/SubstringComparator.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.filter.TestColumnPaginationFilter.java">org/apache/hadoop/hbase/filter/TestColumnPaginationFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>40</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestColumnPrefixFilter.java">org/apache/hadoop/hbase/filter/TestColumnPrefixFilter.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.filter.TestColumnRangeFilter.java">org/apache/hadoop/hbase/filter/TestColumnRangeFilter.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.filter.TestComparators.java">org/apache/hadoop/hbase/filter/TestComparators.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.filter.TestDependentColumnFilter.java">org/apache/hadoop/hbase/filter/TestDependentColumnFilter.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.filter.TestFilter.java">org/apache/hadoop/hbase/filter/TestFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>348</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.filter.TestFilterList.java">org/apache/hadoop/hbase/filter/TestFilterList.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.filter.TestFilterListOnMini.java">org/apache/hadoop/hbase/filter/TestFilterListOnMini.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.filter.TestFilterListOrOperatorWithBlkCnt.java">org/apache/hadoop/hbase/filter/TestFilterListOrOperatorWithBlkCnt.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.filter.TestFilterSerialization.java">org/apache/hadoop/hbase/filter/TestFilterSerialization.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.filter.TestFilterWithScanLimits.java">org/apache/hadoop/hbase/filter/TestFilterWithScanLimits.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.filter.TestFilterWrapper.java">org/apache/hadoop/hbase/filter/TestFilterWrapper.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.filter.TestFirstKeyValueMatchingQualifiersFilter.java">org/apache/hadoop/hbase/filter/TestFirstKeyValueMatchingQualifiersFilter.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.filter.TestFuzzyRowAndColumnRangeFilter.java">org/apache/hadoop/hbase/filter/TestFuzzyRowAndColumnRangeFilter.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.filter.TestFuzzyRowFilterEndToEnd.java">org/apache/hadoop/hbase/filter/TestFuzzyRowFilterEndToEnd.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.filter.TestInclusiveStopFilter.java">org/apache/hadoop/hbase/filter/TestInclusiveStopFilter.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.filter.TestLongComparator.java">org/apache/hadoop/hbase/filter/TestLongComparator.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.filter.TestMultiRowRangeFilter.java">org/apache/hadoop/hbase/filter/TestMultiRowRangeFilter.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.filter.TestMultipleColumnPrefixFilter.java">org/apache/hadoop/hbase/filter/TestMultipleColumnPrefixFilter.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.filter.TestNullComparator.java">org/apache/hadoop/hbase/filter/TestNullComparator.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.filter.TestPageFilter.java">org/apache/hadoop/hbase/filter/TestPageFilter.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.filter.TestPrefixFilter.java">org/apache/hadoop/hbase/filter/TestPrefixFilter.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.filter.TestRandomRowFilter.java">org/apache/hadoop/hbase/filter/TestRandomRowFilter.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.filter.TestRegexComparator.java">org/apache/hadoop/hbase/filter/TestRegexComparator.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.filter.TestScanRowPrefix.java">org/apache/hadoop/hbase/filter/TestScanRowPrefix.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.filter.TestSingleColumnValueExcludeFilter.java">org/apache/hadoop/hbase/filter/TestSingleColumnValueExcludeFilter.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.filter.TestSingleColumnValueFilter.java">org/apache/hadoop/hbase/filter/TestSingleColumnValueFilter.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.filter.TimestampsFilter.java">org/apache/hadoop/hbase/filter/TimestampsFilter.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.filter.ValueFilter.java">org/apache/hadoop/hbase/filter/ValueFilter.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.filter.WhileMatchFilter.java">org/apache/hadoop/hbase/filter/WhileMatchFilter.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.fs.HFileSystem.java">org/apache/hadoop/hbase/fs/HFileSystem.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.fs.TestBlockReorder.java">org/apache/hadoop/hbase/fs/TestBlockReorder.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.http.ClickjackingPreventionFilter.java">org/apache/hadoop/hbase/http/ClickjackingPreventionFilter.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.http.HtmlQuoting.java">org/apache/hadoop/hbase/http/HtmlQuoting.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.http.HttpConfig.java">org/apache/hadoop/hbase/http/HttpConfig.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.http.HttpRequestLog.java">org/apache/hadoop/hbase/http/HttpRequestLog.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.http.HttpRequestLogAppender.java">org/apache/hadoop/hbase/http/HttpRequestLogAppender.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.http.HttpServer.java">org/apache/hadoop/hbase/http/HttpServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>39</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.http.HttpServerFunctionalTest.java">org/apache/hadoop/hbase/http/HttpServerFunctionalTest.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.http.HttpServerUtil.java">org/apache/hadoop/hbase/http/HttpServerUtil.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.http.InfoServer.java">org/apache/hadoop/hbase/http/InfoServer.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.http.NoCacheFilter.java">org/apache/hadoop/hbase/http/NoCacheFilter.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.http.TestGlobalFilter.java">org/apache/hadoop/hbase/http/TestGlobalFilter.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.http.TestHtmlQuoting.java">org/apache/hadoop/hbase/http/TestHtmlQuoting.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.http.TestHttpServer.java">org/apache/hadoop/hbase/http/TestHttpServer.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.http.TestPathFilter.java">org/apache/hadoop/hbase/http/TestPathFilter.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.http.TestServletFilter.java">org/apache/hadoop/hbase/http/TestServletFilter.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.http.TestSpnegoHttpServer.java">org/apache/hadoop/hbase/http/TestSpnegoHttpServer.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.http.conf.ConfServlet.java">org/apache/hadoop/hbase/http/conf/ConfServlet.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.http.jmx.JMXJsonServlet.java">org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.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.http.log.LogLevel.java">org/apache/hadoop/hbase/http/log/LogLevel.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.http.log.TestLogLevel.java">org/apache/hadoop/hbase/http/log/TestLogLevel.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.http.resource.JerseyResource.java">org/apache/hadoop/hbase/http/resource/JerseyResource.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.http.ssl.KeyStoreTestUtil.java">org/apache/hadoop/hbase/http/ssl/KeyStoreTestUtil.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.io.ByteBuffInputStream.java">org/apache/hadoop/hbase/io/ByteBuffInputStream.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.io.ByteBufferOutputStream.java">org/apache/hadoop/hbase/io/ByteBufferOutputStream.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.io.ByteBufferWriterOutputStream.java">org/apache/hadoop/hbase/io/ByteBufferWriterOutputStream.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.io.CellOutputStream.java">org/apache/hadoop/hbase/io/CellOutputStream.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.io.FSDataInputStreamWrapper.java">org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.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.io.FileLink.java">org/apache/hadoop/hbase/io/FileLink.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.io.HFileLink.java">org/apache/hadoop/hbase/io/HFileLink.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.io.HalfStoreFileReader.java">org/apache/hadoop/hbase/io/HalfStoreFileReader.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.io.HeapSize.java">org/apache/hadoop/hbase/io/HeapSize.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.io.ImmutableBytesWritable.java">org/apache/hadoop/hbase/io/ImmutableBytesWritable.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.io.Reference.java">org/apache/hadoop/hbase/io/Reference.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.io.TagCompressionContext.java">org/apache/hadoop/hbase/io/TagCompressionContext.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.io.TestByteBufferOutputStream.java">org/apache/hadoop/hbase/io/TestByteBufferOutputStream.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.io.TestFileLink.java">org/apache/hadoop/hbase/io/TestFileLink.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.io.TestHFileLink.java">org/apache/hadoop/hbase/io/TestHFileLink.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.io.TestHalfStoreFileReader.java">org/apache/hadoop/hbase/io/TestHalfStoreFileReader.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.io.TestHeapSize.java">org/apache/hadoop/hbase/io/TestHeapSize.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.io.TestImmutableBytesWritable.java">org/apache/hadoop/hbase/io/TestImmutableBytesWritable.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.io.TestMetricsIO.java">org/apache/hadoop/hbase/io/TestMetricsIO.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.io.TimeRange.java">org/apache/hadoop/hbase/io/TimeRange.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.io.WALLink.java">org/apache/hadoop/hbase/io/WALLink.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.io.asyncfs.AsyncFSOutput.java">org/apache/hadoop/hbase/io/asyncfs/AsyncFSOutput.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.io.asyncfs.FanOutOneBlockAsyncDFSOutput.java">org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.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.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper.java">org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.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.io.asyncfs.FanOutOneBlockAsyncDFSOutputSaslHelper.java">org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.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.io.compress.Compression.java">org/apache/hadoop/hbase/io/compress/Compression.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.io.crypto.Cipher.java">org/apache/hadoop/hbase/io/crypto/Cipher.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.io.crypto.Decryptor.java">org/apache/hadoop/hbase/io/crypto/Decryptor.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.io.crypto.Encryption.java">org/apache/hadoop/hbase/io/crypto/Encryption.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>53</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.crypto.Encryptor.java">org/apache/hadoop/hbase/io/crypto/Encryptor.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.io.crypto.KeyProvider.java">org/apache/hadoop/hbase/io/crypto/KeyProvider.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.io.crypto.TestEncryption.java">org/apache/hadoop/hbase/io/crypto/TestEncryption.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.io.crypto.aes.CryptoAES.java">org/apache/hadoop/hbase/io/crypto/aes/CryptoAES.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.io.encoding.BufferedDataBlockEncoder.java">org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.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.io.encoding.CopyKeyDataBlockEncoder.java">org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.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.io.encoding.DataBlockEncoder.java">org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.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.io.encoding.DataBlockEncoding.java">org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.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.io.encoding.EncodedDataBlock.java">org/apache/hadoop/hbase/io/encoding/EncodedDataBlock.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.io.encoding.HFileBlockDecodingContext.java">org/apache/hadoop/hbase/io/encoding/HFileBlockDecodingContext.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.io.encoding.HFileBlockDefaultEncodingContext.java">org/apache/hadoop/hbase/io/encoding/HFileBlockDefaultEncodingContext.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.io.encoding.HFileBlockEncodingContext.java">org/apache/hadoop/hbase/io/encoding/HFileBlockEncodingContext.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.io.encoding.RowIndexCodecV1.java">org/apache/hadoop/hbase/io/encoding/RowIndexCodecV1.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.io.encoding.TestDataBlockEncoders.java">org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.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.io.encoding.TestEncodedSeekers.java">org/apache/hadoop/hbase/io/encoding/TestEncodedSeekers.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.io.hadoopbackport.ThrottledInputStream.java">org/apache/hadoop/hbase/io/hadoopbackport/ThrottledInputStream.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.io.hfile.BlockCache.java">org/apache/hadoop/hbase/io/hfile/BlockCache.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.io.hfile.BlockCacheKey.java">org/apache/hadoop/hbase/io/hfile/BlockCacheKey.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.io.hfile.BlockCacheUtil.java">org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.BlockCachesIterator.java">org/apache/hadoop/hbase/io/hfile/BlockCachesIterator.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.io.hfile.BlockType.java">org/apache/hadoop/hbase/io/hfile/BlockType.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.io.hfile.CacheConfig.java">org/apache/hadoop/hbase/io/hfile/CacheConfig.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.io.hfile.CacheStats.java">org/apache/hadoop/hbase/io/hfile/CacheStats.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.io.hfile.CacheTestUtils.java">org/apache/hadoop/hbase/io/hfile/CacheTestUtils.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.io.hfile.Cacheable.java">org/apache/hadoop/hbase/io/hfile/Cacheable.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.io.hfile.CacheableDeserializer.java">org/apache/hadoop/hbase/io/hfile/CacheableDeserializer.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.io.hfile.CacheableDeserializerIdManager.java">org/apache/hadoop/hbase/io/hfile/CacheableDeserializerIdManager.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.io.hfile.ChecksumUtil.java">org/apache/hadoop/hbase/io/hfile/ChecksumUtil.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.io.hfile.CombinedBlockCache.java">org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.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.io.hfile.CompoundBloomFilter.java">org/apache/hadoop/hbase/io/hfile/CompoundBloomFilter.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.io.hfile.CompoundBloomFilterBase.java">org/apache/hadoop/hbase/io/hfile/CompoundBloomFilterBase.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.io.hfile.CompoundBloomFilterWriter.java">org/apache/hadoop/hbase/io/hfile/CompoundBloomFilterWriter.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.io.hfile.CorruptHFileException.java">org/apache/hadoop/hbase/io/hfile/CorruptHFileException.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.io.hfile.FixedFileTrailer.java">org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.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.io.hfile.HFile.java">org/apache/hadoop/hbase/io/hfile/HFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>38</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileBlock.java">org/apache/hadoop/hbase/io/hfile/HFileBlock.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileBlockIndex.java">org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>39</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileContext.java">org/apache/hadoop/hbase/io/hfile/HFileContext.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.io.hfile.HFileDataBlockEncoder.java">org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoder.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.io.hfile.HFileDataBlockEncoderImpl.java">org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoderImpl.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.io.hfile.HFilePrettyPrinter.java">org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.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.io.hfile.HFileReaderImpl.java">org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>51</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileScanner.java">org/apache/hadoop/hbase/io/hfile/HFileScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>23</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.HFileUtil.java">org/apache/hadoop/hbase/io/hfile/HFileUtil.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.io.hfile.HFileWriterImpl.java">org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.KVGenerator.java">org/apache/hadoop/hbase/io/hfile/KVGenerator.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.io.hfile.LruBlockCache.java">org/apache/hadoop/hbase/io/hfile/LruBlockCache.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.io.hfile.LruCachedBlock.java">org/apache/hadoop/hbase/io/hfile/LruCachedBlock.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.io.hfile.LruCachedBlockQueue.java">org/apache/hadoop/hbase/io/hfile/LruCachedBlockQueue.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.io.hfile.NanoTimer.java">org/apache/hadoop/hbase/io/hfile/NanoTimer.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.io.hfile.NoOpDataBlockEncoder.java">org/apache/hadoop/hbase/io/hfile/NoOpDataBlockEncoder.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.io.hfile.PrefetchExecutor.java">org/apache/hadoop/hbase/io/hfile/PrefetchExecutor.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.io.hfile.RandomKeyValueUtil.java">org/apache/hadoop/hbase/io/hfile/RandomKeyValueUtil.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.io.hfile.TestBlockCacheReporting.java">org/apache/hadoop/hbase/io/hfile/TestBlockCacheReporting.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.io.hfile.TestCacheConfig.java">org/apache/hadoop/hbase/io/hfile/TestCacheConfig.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.io.hfile.TestCacheOnWrite.java">org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.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.io.hfile.TestCachedBlockQueue.java">org/apache/hadoop/hbase/io/hfile/TestCachedBlockQueue.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.io.hfile.TestChecksum.java">org/apache/hadoop/hbase/io/hfile/TestChecksum.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.io.hfile.TestFixedFileTrailer.java">org/apache/hadoop/hbase/io/hfile/TestFixedFileTrailer.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.io.hfile.TestForceCacheImportantBlocks.java">org/apache/hadoop/hbase/io/hfile/TestForceCacheImportantBlocks.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.io.hfile.TestHFile.java">org/apache/hadoop/hbase/io/hfile/TestHFile.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.io.hfile.TestHFileBlock.java">org/apache/hadoop/hbase/io/hfile/TestHFileBlock.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.io.hfile.TestHFileBlockIndex.java">org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>41</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.TestHFileBlockPositionalRead.java">org/apache/hadoop/hbase/io/hfile/TestHFileBlockPositionalRead.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.io.hfile.TestHFileDataBlockEncoder.java">org/apache/hadoop/hbase/io/hfile/TestHFileDataBlockEncoder.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.io.hfile.TestHFileWriterV3.java">org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3.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.io.hfile.TestLruBlockCache.java">org/apache/hadoop/hbase/io/hfile/TestLruBlockCache.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.io.hfile.TestPrefetch.java">org/apache/hadoop/hbase/io/hfile/TestPrefetch.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.io.hfile.TestScannerFromBucketCache.java">org/apache/hadoop/hbase/io/hfile/TestScannerFromBucketCache.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.io.hfile.TestScannerSelectionUsingKeyRange.java">org/apache/hadoop/hbase/io/hfile/TestScannerSelectionUsingKeyRange.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.io.hfile.bucket.BucketAllocator.java">org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>34</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.java">org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.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.io.hfile.bucket.BucketCacheStats.java">org/apache/hadoop/hbase/io/hfile/bucket/BucketCacheStats.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.io.hfile.bucket.ByteBufferIOEngine.java">org/apache/hadoop/hbase/io/hfile/bucket/ByteBufferIOEngine.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.io.hfile.bucket.CachedEntryQueue.java">org/apache/hadoop/hbase/io/hfile/bucket/CachedEntryQueue.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.io.hfile.bucket.FileIOEngine.java">org/apache/hadoop/hbase/io/hfile/bucket/FileIOEngine.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.io.hfile.bucket.FileMmapEngine.java">org/apache/hadoop/hbase/io/hfile/bucket/FileMmapEngine.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.io.hfile.bucket.IOEngine.java">org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.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.io.hfile.bucket.TestBucketCache.java">org/apache/hadoop/hbase/io/hfile/bucket/TestBucketCache.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.io.hfile.bucket.TestBucketWriterThread.java">org/apache/hadoop/hbase/io/hfile/bucket/TestBucketWriterThread.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.io.hfile.bucket.TestFileIOEngine.java">org/apache/hadoop/hbase/io/hfile/bucket/TestFileIOEngine.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.io.hfile.bucket.UniqueIndexMap.java">org/apache/hadoop/hbase/io/hfile/bucket/UniqueIndexMap.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.io.util.Dictionary.java">org/apache/hadoop/hbase/io/util/Dictionary.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.io.util.LRUDictionary.java">org/apache/hadoop/hbase/io/util/LRUDictionary.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.io.util.MemorySizeUtil.java">org/apache/hadoop/hbase/io/util/MemorySizeUtil.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.io.util.StreamUtils.java">org/apache/hadoop/hbase/io/util/StreamUtils.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.ipc.AbstractRpcClient.java">org/apache/hadoop/hbase/ipc/AbstractRpcClient.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.ipc.AbstractTestIPC.java">org/apache/hadoop/hbase/ipc/AbstractTestIPC.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.ipc.AdaptiveLifoCoDelCallQueue.java">org/apache/hadoop/hbase/ipc/AdaptiveLifoCoDelCallQueue.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.ipc.BlockingRpcCallback.java">org/apache/hadoop/hbase/ipc/BlockingRpcCallback.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.ipc.BlockingRpcClient.java">org/apache/hadoop/hbase/ipc/BlockingRpcClient.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.ipc.BlockingRpcConnection.java">org/apache/hadoop/hbase/ipc/BlockingRpcConnection.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.ipc.BufferCallBeforeInitHandler.java">org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.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.ipc.BufferChain.java">org/apache/hadoop/hbase/ipc/BufferChain.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.ipc.Call.java">org/apache/hadoop/hbase/ipc/Call.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.ipc.CallQueueInfo.java">org/apache/hadoop/hbase/ipc/CallQueueInfo.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.ipc.CallRunner.java">org/apache/hadoop/hbase/ipc/CallRunner.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.ipc.CellBlockBuilder.java">org/apache/hadoop/hbase/ipc/CellBlockBuilder.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.ipc.CoprocessorRpcUtils.java">org/apache/hadoop/hbase/ipc/CoprocessorRpcUtils.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.ipc.DefaultNettyEventLoopConfig.java">org/apache/hadoop/hbase/ipc/DefaultNettyEventLoopConfig.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.ipc.DelegatingHBaseRpcController.java">org/apache/hadoop/hbase/ipc/DelegatingHBaseRpcController.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.ipc.FailedServers.java">org/apache/hadoop/hbase/ipc/FailedServers.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.ipc.FifoRpcScheduler.java">org/apache/hadoop/hbase/ipc/FifoRpcScheduler.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.ipc.HBaseRpcController.java">org/apache/hadoop/hbase/ipc/HBaseRpcController.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.ipc.HBaseRpcControllerImpl.java">org/apache/hadoop/hbase/ipc/HBaseRpcControllerImpl.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.ipc.IPCUtil.java">org/apache/hadoop/hbase/ipc/IPCUtil.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.ipc.IntegrationTestRpcClient.java">org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.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.ipc.MetricsHBaseServer.java">org/apache/hadoop/hbase/ipc/MetricsHBaseServer.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.ipc.MetricsHBaseServerSourceImpl.java">org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.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.ipc.NettyRpcClient.java">org/apache/hadoop/hbase/ipc/NettyRpcClient.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.ipc.NettyRpcClientConfigHelper.java">org/apache/hadoop/hbase/ipc/NettyRpcClientConfigHelper.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.ipc.NettyRpcConnection.java">org/apache/hadoop/hbase/ipc/NettyRpcConnection.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.ipc.NettyRpcDuplexHandler.java">org/apache/hadoop/hbase/ipc/NettyRpcDuplexHandler.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.ipc.NettyRpcServer.java">org/apache/hadoop/hbase/ipc/NettyRpcServer.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.ipc.NettyRpcServerPreambleHandler.java">org/apache/hadoop/hbase/ipc/NettyRpcServerPreambleHandler.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.ipc.NettyRpcServerRequestDecoder.java">org/apache/hadoop/hbase/ipc/NettyRpcServerRequestDecoder.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.ipc.NettyRpcServerResponseEncoder.java">org/apache/hadoop/hbase/ipc/NettyRpcServerResponseEncoder.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.ipc.NettyServerCall.java">org/apache/hadoop/hbase/ipc/NettyServerCall.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.ipc.NettyServerRpcConnection.java">org/apache/hadoop/hbase/ipc/NettyServerRpcConnection.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.ipc.PriorityFunction.java">org/apache/hadoop/hbase/ipc/PriorityFunction.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.ipc.RWQueueRpcExecutor.java">org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.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.ipc.RemoteWithExtrasException.java">org/apache/hadoop/hbase/ipc/RemoteWithExtrasException.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.ipc.RpcCall.java">org/apache/hadoop/hbase/ipc/RpcCall.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.ipc.RpcCallContext.java">org/apache/hadoop/hbase/ipc/RpcCallContext.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.ipc.RpcClient.java">org/apache/hadoop/hbase/ipc/RpcClient.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.ipc.RpcClientFactory.java">org/apache/hadoop/hbase/ipc/RpcClientFactory.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.ipc.RpcConnection.java">org/apache/hadoop/hbase/ipc/RpcConnection.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.ipc.RpcControllerFactory.java">org/apache/hadoop/hbase/ipc/RpcControllerFactory.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.ipc.RpcExecutor.java">org/apache/hadoop/hbase/ipc/RpcExecutor.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.ipc.RpcScheduler.java">org/apache/hadoop/hbase/ipc/RpcScheduler.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.ipc.RpcSchedulerContext.java">org/apache/hadoop/hbase/ipc/RpcSchedulerContext.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.ipc.RpcServer.java">org/apache/hadoop/hbase/ipc/RpcServer.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.ipc.RpcServerFactory.java">org/apache/hadoop/hbase/ipc/RpcServerFactory.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.ipc.RpcServerInterface.java">org/apache/hadoop/hbase/ipc/RpcServerInterface.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.ipc.ServerCall.java">org/apache/hadoop/hbase/ipc/ServerCall.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.ipc.ServerRpcConnection.java">org/apache/hadoop/hbase/ipc/ServerRpcConnection.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.ipc.ServerRpcController.java">org/apache/hadoop/hbase/ipc/ServerRpcController.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.ipc.SimpleRpcScheduler.java">org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.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.ipc.SimpleRpcServer.java">org/apache/hadoop/hbase/ipc/SimpleRpcServer.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.ipc.SimpleRpcServerResponder.java">org/apache/hadoop/hbase/ipc/SimpleRpcServerResponder.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.ipc.SimpleServerCall.java">org/apache/hadoop/hbase/ipc/SimpleServerCall.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.ipc.SimpleServerRpcConnection.java">org/apache/hadoop/hbase/ipc/SimpleServerRpcConnection.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.ipc.TestBufferChain.java">org/apache/hadoop/hbase/ipc/TestBufferChain.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.ipc.TestCellBlockBuilder.java">org/apache/hadoop/hbase/ipc/TestCellBlockBuilder.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.ipc.TestFifoRpcScheduler.java">org/apache/hadoop/hbase/ipc/TestFifoRpcScheduler.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.ipc.TestHBaseClient.java">org/apache/hadoop/hbase/ipc/TestHBaseClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>41</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.TestHBaseRpcControllerImpl.java">org/apache/hadoop/hbase/ipc/TestHBaseRpcControllerImpl.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.ipc.TestProtobufRpcServiceImpl.java">org/apache/hadoop/hbase/ipc/TestProtobufRpcServiceImpl.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.ipc.TestRpcMetrics.java">org/apache/hadoop/hbase/ipc/TestRpcMetrics.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.ipc.TestSimpleRpcScheduler.java">org/apache/hadoop/hbase/ipc/TestSimpleRpcScheduler.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.log.HBaseMarkers.java">org/apache/hadoop/hbase/log/HBaseMarkers.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.mapred.Driver.java">org/apache/hadoop/hbase/mapred/Driver.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.mapred.GroupingTableMap.java">org/apache/hadoop/hbase/mapred/GroupingTableMap.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.mapred.HRegionPartitioner.java">org/apache/hadoop/hbase/mapred/HRegionPartitioner.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.mapred.IdentityTableMap.java">org/apache/hadoop/hbase/mapred/IdentityTableMap.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.mapred.IdentityTableReduce.java">org/apache/hadoop/hbase/mapred/IdentityTableReduce.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.mapred.MultiTableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapred/MultiTableSnapshotInputFormat.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.mapred.RowCounter.java">org/apache/hadoop/hbase/mapred/RowCounter.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.mapred.RowCounter_Counters.properties">org/apache/hadoop/hbase/mapred/RowCounter_Counters.properties</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.mapred.TableInputFormat.java">org/apache/hadoop/hbase/mapred/TableInputFormat.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.mapred.TableInputFormatBase.java">org/apache/hadoop/hbase/mapred/TableInputFormatBase.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.mapred.TableMap.java">org/apache/hadoop/hbase/mapred/TableMap.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.mapred.TableMapReduceUtil.java">org/apache/hadoop/hbase/mapred/TableMapReduceUtil.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.mapred.TableOutputFormat.java">org/apache/hadoop/hbase/mapred/TableOutputFormat.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.mapred.TableRecordReader.java">org/apache/hadoop/hbase/mapred/TableRecordReader.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.mapred.TableRecordReaderImpl.java">org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.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.mapred.TableReduce.java">org/apache/hadoop/hbase/mapred/TableReduce.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.mapred.TableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapred/TableSnapshotInputFormat.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.mapred.TableSplit.java">org/apache/hadoop/hbase/mapred/TableSplit.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.mapred.TestGroupingTableMap.java">org/apache/hadoop/hbase/mapred/TestGroupingTableMap.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.mapred.TestIdentityTableMap.java">org/apache/hadoop/hbase/mapred/TestIdentityTableMap.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.mapred.TestRowCounter.java">org/apache/hadoop/hbase/mapred/TestRowCounter.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.mapred.TestSplitTable.java">org/apache/hadoop/hbase/mapred/TestSplitTable.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.mapred.TestTableInputFormat.java">org/apache/hadoop/hbase/mapred/TestTableInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapred.TestTableMapReduce.java">org/apache/hadoop/hbase/mapred/TestTableMapReduce.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.mapred.TestTableMapReduceUtil.java">org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.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.mapred.TestTableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapred/TestTableSnapshotInputFormat.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.mapreduce.CellCounter.java">org/apache/hadoop/hbase/mapreduce/CellCounter.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.mapreduce.CellCreator.java">org/apache/hadoop/hbase/mapreduce/CellCreator.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.mapreduce.CellSerialization.java">org/apache/hadoop/hbase/mapreduce/CellSerialization.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.mapreduce.CellSortReducer.java">org/apache/hadoop/hbase/mapreduce/CellSortReducer.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.mapreduce.CopyTable.java">org/apache/hadoop/hbase/mapreduce/CopyTable.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.mapreduce.DefaultVisibilityExpressionResolver.java">org/apache/hadoop/hbase/mapreduce/DefaultVisibilityExpressionResolver.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.mapreduce.Driver.java">org/apache/hadoop/hbase/mapreduce/Driver.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.mapreduce.Export.java">org/apache/hadoop/hbase/mapreduce/Export.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.mapreduce.ExportUtils.java">org/apache/hadoop/hbase/mapreduce/ExportUtils.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.mapreduce.GroupingTableMapper.java">org/apache/hadoop/hbase/mapreduce/GroupingTableMapper.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.mapreduce.HFileInputFormat.java">org/apache/hadoop/hbase/mapreduce/HFileInputFormat.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.mapreduce.HFileOutputFormat2.java">org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.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.mapreduce.HRegionPartitioner.java">org/apache/hadoop/hbase/mapreduce/HRegionPartitioner.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.mapreduce.HashTable.java">org/apache/hadoop/hbase/mapreduce/HashTable.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.mapreduce.IdentityTableMapper.java">org/apache/hadoop/hbase/mapreduce/IdentityTableMapper.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.mapreduce.IdentityTableReducer.java">org/apache/hadoop/hbase/mapreduce/IdentityTableReducer.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.mapreduce.Import.java">org/apache/hadoop/hbase/mapreduce/Import.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.mapreduce.ImportTsv.java">org/apache/hadoop/hbase/mapreduce/ImportTsv.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.mapreduce.IndexBuilder.java">org/apache/hadoop/hbase/mapreduce/IndexBuilder.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.mapreduce.IntegrationTestBulkLoad.java">org/apache/hadoop/hbase/mapreduce/IntegrationTestBulkLoad.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.mapreduce.IntegrationTestImportTsv.java">org/apache/hadoop/hbase/mapreduce/IntegrationTestImportTsv.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.mapreduce.IntegrationTestTableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapreduce/IntegrationTestTableSnapshotInputFormat.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.mapreduce.JarFinder.java">org/apache/hadoop/hbase/mapreduce/JarFinder.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.mapreduce.JobUtil.java">org/apache/hadoop/hbase/mapreduce/JobUtil.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.mapreduce.MapreduceTestingShim.java">org/apache/hadoop/hbase/mapreduce/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.mapreduce.MultiTableHFileOutputFormat.java">org/apache/hadoop/hbase/mapreduce/MultiTableHFileOutputFormat.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.mapreduce.MultiTableInputFormat.java">org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.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.mapreduce.MultiTableInputFormatBase.java">org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.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.mapreduce.MultiTableInputFormatTestBase.java">org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatTestBase.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.mapreduce.MultiTableOutputFormat.java">org/apache/hadoop/hbase/mapreduce/MultiTableOutputFormat.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.mapreduce.MultiTableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapreduce/MultiTableSnapshotInputFormat.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.mapreduce.MultiTableSnapshotInputFormatImpl.java">org/apache/hadoop/hbase/mapreduce/MultiTableSnapshotInputFormatImpl.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.mapreduce.MultithreadedTableMapper.java">org/apache/hadoop/hbase/mapreduce/MultithreadedTableMapper.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.mapreduce.MutationSerialization.java">org/apache/hadoop/hbase/mapreduce/MutationSerialization.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.mapreduce.NMapInputFormat.java">org/apache/hadoop/hbase/mapreduce/NMapInputFormat.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.mapreduce.PutCombiner.java">org/apache/hadoop/hbase/mapreduce/PutCombiner.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.mapreduce.PutSortReducer.java">org/apache/hadoop/hbase/mapreduce/PutSortReducer.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.mapreduce.ResultSerialization.java">org/apache/hadoop/hbase/mapreduce/ResultSerialization.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.mapreduce.RowCounter.java">org/apache/hadoop/hbase/mapreduce/RowCounter.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.mapreduce.SampleUploader.java">org/apache/hadoop/hbase/mapreduce/SampleUploader.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.mapreduce.SimpleTotalOrderPartitioner.java">org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.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.mapreduce.SyncTable.java">org/apache/hadoop/hbase/mapreduce/SyncTable.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.mapreduce.TableInputFormat.java">org/apache/hadoop/hbase/mapreduce/TableInputFormat.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.mapreduce.TableInputFormatBase.java">org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.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.mapreduce.TableMapReduceUtil.java">org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>55</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableMapper.java">org/apache/hadoop/hbase/mapreduce/TableMapper.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.mapreduce.TableOutputCommitter.java">org/apache/hadoop/hbase/mapreduce/TableOutputCommitter.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.mapreduce.TableOutputFormat.java">org/apache/hadoop/hbase/mapreduce/TableOutputFormat.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.mapreduce.TableRecordReader.java">org/apache/hadoop/hbase/mapreduce/TableRecordReader.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.mapreduce.TableRecordReaderImpl.java">org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.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.mapreduce.TableReducer.java">org/apache/hadoop/hbase/mapreduce/TableReducer.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.mapreduce.TableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.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.mapreduce.TableSnapshotInputFormatImpl.java">org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.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.mapreduce.TableSnapshotInputFormatTestBase.java">org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatTestBase.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.mapreduce.TableSplit.java">org/apache/hadoop/hbase/mapreduce/TableSplit.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.mapreduce.TestCellCounter.java">org/apache/hadoop/hbase/mapreduce/TestCellCounter.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.mapreduce.TestCopyTable.java">org/apache/hadoop/hbase/mapreduce/TestCopyTable.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.mapreduce.TestGroupingTableMapper.java">org/apache/hadoop/hbase/mapreduce/TestGroupingTableMapper.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.mapreduce.TestHFileOutputFormat2.java">org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.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.mapreduce.TestHRegionPartitioner.java">org/apache/hadoop/hbase/mapreduce/TestHRegionPartitioner.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.mapreduce.TestHashTable.java">org/apache/hadoop/hbase/mapreduce/TestHashTable.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.mapreduce.TestImportExport.java">org/apache/hadoop/hbase/mapreduce/TestImportExport.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>41</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestImportTSVWithOperationAttributes.java">org/apache/hadoop/hbase/mapreduce/TestImportTSVWithOperationAttributes.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.mapreduce.TestImportTSVWithTTLs.java">org/apache/hadoop/hbase/mapreduce/TestImportTSVWithTTLs.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.mapreduce.TestImportTSVWithVisibilityLabels.java">org/apache/hadoop/hbase/mapreduce/TestImportTSVWithVisibilityLabels.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>27</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestImportTsv.java">org/apache/hadoop/hbase/mapreduce/TestImportTsv.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.mapreduce.TestImportTsvParser.java">org/apache/hadoop/hbase/mapreduce/TestImportTsvParser.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.mapreduce.TestMapReduceExamples.java">org/apache/hadoop/hbase/mapreduce/TestMapReduceExamples.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.mapreduce.TestMultiTableInputFormat.java">org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.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.mapreduce.TestMultiTableInputFormatBase.java">org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.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.mapreduce.TestMultiTableSnapshotInputFormatImpl.java">org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.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.mapreduce.TestMultithreadedTableMapper.java">org/apache/hadoop/hbase/mapreduce/TestMultithreadedTableMapper.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.mapreduce.TestRegionSizeCalculator.java">org/apache/hadoop/hbase/mapreduce/TestRegionSizeCalculator.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.mapreduce.TestRowCounter.java">org/apache/hadoop/hbase/mapreduce/TestRowCounter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>37</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestSimpleTotalOrderPartitioner.java">org/apache/hadoop/hbase/mapreduce/TestSimpleTotalOrderPartitioner.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.mapreduce.TestSyncTable.java">org/apache/hadoop/hbase/mapreduce/TestSyncTable.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.mapreduce.TestTableInputFormat.java">org/apache/hadoop/hbase/mapreduce/TestTableInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>31</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableInputFormatBase.java">org/apache/hadoop/hbase/mapreduce/TestTableInputFormatBase.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.mapreduce.TestTableInputFormatScan1.java">org/apache/hadoop/hbase/mapreduce/TestTableInputFormatScan1.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScan2.java">org/apache/hadoop/hbase/mapreduce/TestTableInputFormatScan2.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.mapreduce.TestTableInputFormatScanBase.java">org/apache/hadoop/hbase/mapreduce/TestTableInputFormatScanBase.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.mapreduce.TestTableMapReduce.java">org/apache/hadoop/hbase/mapreduce/TestTableMapReduce.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.mapreduce.TestTableMapReduceBase.java">org/apache/hadoop/hbase/mapreduce/TestTableMapReduceBase.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.mapreduce.TestTableSplit.java">org/apache/hadoop/hbase/mapreduce/TestTableSplit.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.mapreduce.TestTimeRangeMapRed.java">org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.j

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
index b7c24d7..eecd2f9 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
@@ -44,792 +44,792 @@
 <span class="sourceLineNo">036</span>import java.util.List;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import java.util.Map;<a name="line.37"></a>
 <span class="sourceLineNo">038</span>import java.util.NavigableSet;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.Objects;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.PriorityQueue;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.concurrent.ArrayBlockingQueue;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.concurrent.BlockingQueue;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.ConcurrentMap;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentSkipListSet;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.Executors;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.TimeUnit;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.atomic.LongAdder;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.locks.Lock;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.conf.Configuration;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.io.hfile.BlockPriority;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.hfile.BlockType;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.hfile.CacheStats;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.hfile.Cacheable;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.hfile.Cacheable.MemoryType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializer;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializerIdManager;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.CachedBlock;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileBlock;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.IdReadWriteLock;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.util.IdReadWriteLock.ReferenceType;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.util.StringUtils;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.slf4j.Logger;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.slf4j.LoggerFactory;<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>/**<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * BucketCache uses {@link BucketAllocator} to allocate/free blocks, and uses<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * BucketCache#ramCache and BucketCache#backingMap in order to<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * determine if a given element is in the cache. The bucket cache can use on-heap or<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * off-heap memory {@link ByteBufferIOEngine} or in a file {@link FileIOEngine} to<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * store/read the block data.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> *<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;Eviction is via a similar algorithm as used in<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache}<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;p&gt;BucketCache can be used as mainly a block cache (see<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * {@link org.apache.hadoop.hbase.io.hfile.CombinedBlockCache}), combined with<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * LruBlockCache to decrease CMS GC and heap fragmentation.<a name="line.97"></a>
-<span class="sourceLineNo">098</span> *<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * &lt;p&gt;It also can be used as a secondary cache (e.g. using a file on ssd/fusionio to store<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * blocks) to enlarge cache space via<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache#setVictimCache}<a name="line.101"></a>
-<span class="sourceLineNo">102</span> */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>@InterfaceAudience.Private<a name="line.103"></a>
-<span class="sourceLineNo">104</span>public class BucketCache implements BlockCache, HeapSize {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  private static final Logger LOG = LoggerFactory.getLogger(BucketCache.class);<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  /** Priority buckets config */<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  static final String SINGLE_FACTOR_CONFIG_NAME = "hbase.bucketcache.single.factor";<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  static final String MULTI_FACTOR_CONFIG_NAME = "hbase.bucketcache.multi.factor";<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  static final String MEMORY_FACTOR_CONFIG_NAME = "hbase.bucketcache.memory.factor";<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  static final String EXTRA_FREE_FACTOR_CONFIG_NAME = "hbase.bucketcache.extrafreefactor";<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  static final String ACCEPT_FACTOR_CONFIG_NAME = "hbase.bucketcache.acceptfactor";<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  static final String MIN_FACTOR_CONFIG_NAME = "hbase.bucketcache.minfactor";<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /** Priority buckets */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  @VisibleForTesting<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  static final float DEFAULT_SINGLE_FACTOR = 0.25f;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  static final float DEFAULT_MULTI_FACTOR = 0.50f;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  static final float DEFAULT_MEMORY_FACTOR = 0.25f;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  static final float DEFAULT_MIN_FACTOR = 0.85f;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private static final float DEFAULT_EXTRA_FREE_FACTOR = 0.10f;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  private static final float DEFAULT_ACCEPT_FACTOR = 0.95f;<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  // Number of blocks to clear for each of the bucket size that is full<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  private static final int DEFAULT_FREE_ENTIRE_BLOCK_FACTOR = 2;<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>  /** Statistics thread */<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  private static final int statThreadPeriod = 5 * 60;<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  final static int DEFAULT_WRITER_THREADS = 3;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  final static int DEFAULT_WRITER_QUEUE_ITEMS = 64;<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  // Store/read block data<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  final IOEngine ioEngine;<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  // Store the block in this map before writing it to cache<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  @VisibleForTesting<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  final ConcurrentMap&lt;BlockCacheKey, RAMQueueEntry&gt; ramCache;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  // In this map, store the block's meta data like offset, length<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  @VisibleForTesting<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  ConcurrentMap&lt;BlockCacheKey, BucketEntry&gt; backingMap;<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * Flag if the cache is enabled or not... We shut it off if there are IO<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * errors for some time, so that Bucket IO exceptions/errors don't bring down<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * the HBase server.<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   */<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private volatile boolean cacheEnabled;<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 list of writer queues.  We have a queue per {@link WriterThread} we have running.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * In other words, the work adding blocks to the BucketCache is divided up amongst the<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * running WriterThreads.  Its done by taking hash of the cache key modulo queue count.<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * WriterThread when it runs takes whatever has been recently added and 'drains' the entries<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * to the BucketCache.  It then updates the ramCache and backingMap accordingly.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @VisibleForTesting<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  final ArrayList&lt;BlockingQueue&lt;RAMQueueEntry&gt;&gt; writerQueues = new ArrayList&lt;&gt;();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  @VisibleForTesting<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  final WriterThread[] writerThreads;<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>  /** Volatile boolean to track if free space is in process or not */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  private volatile boolean freeInProgress = false;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  private final Lock freeSpaceLock = new ReentrantLock();<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>  private UniqueIndexMap&lt;Integer&gt; deserialiserMap = new UniqueIndexMap&lt;&gt;();<a name="line.167"></a>
-<span class="sourceLineNo">168</span><a name="line.168"></a>
-<span class="sourceLineNo">169</span>  private final LongAdder realCacheSize = new LongAdder();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  private final LongAdder heapSize = new LongAdder();<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  /** Current number of cached elements */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  private final LongAdder blockNumber = new LongAdder();<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  /** Cache access count (sequential ID) */<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  private final AtomicLong accessCount = new AtomicLong();<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>  private static final int DEFAULT_CACHE_WAIT_TIME = 50;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  // Used in test now. If the flag is false and the cache speed is very fast,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  // bucket cache will skip some blocks when caching. If the flag is true, we<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  // will wait blocks flushed to IOEngine for some time when caching<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  boolean wait_when_cache = false;<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  private final BucketCacheStats cacheStats = new BucketCacheStats();<a name="line.183"></a>
-<span class="sourceLineNo">184</span><a name="line.184"></a>
-<span class="sourceLineNo">185</span>  private final String persistencePath;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  private final long cacheCapacity;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  /** Approximate block size */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private final long blockSize;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  /** Duration of IO errors tolerated before we disable cache, 1 min as default */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private final int ioErrorsTolerationDuration;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  // 1 min<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  public static final int DEFAULT_ERROR_TOLERATION_DURATION = 60 * 1000;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>  // Start time of first IO error when reading or writing IO Engine, it will be<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  // reset after a successful read/write.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private volatile long ioErrorStartTime = -1;<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 ReentrantReadWriteLock to lock on a particular block identified by offset.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * The purpose of this is to avoid freeing the block which is being read.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * &lt;p&gt;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * Key set of offsets in BucketCache is limited so soft reference is the best choice here.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  @VisibleForTesting<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  final IdReadWriteLock offsetLock = new IdReadWriteLock(ReferenceType.SOFT);<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  private final NavigableSet&lt;BlockCacheKey&gt; blocksByHFile =<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      new ConcurrentSkipListSet&lt;&gt;(new Comparator&lt;BlockCacheKey&gt;() {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        public int compare(BlockCacheKey a, BlockCacheKey b) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>          int nameComparison = a.getHfileName().compareTo(b.getHfileName());<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          if (nameComparison != 0) {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>            return nameComparison;<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>          if (a.getOffset() == b.getOffset()) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>            return 0;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>          } else if (a.getOffset() &lt; b.getOffset()) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>            return -1;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>          }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>          return 1;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      });<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  /** Statistics thread schedule pool (for heavy debugging, could remove) */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private final ScheduledExecutorService scheduleThreadPool = Executors.newScheduledThreadPool(1,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    new ThreadFactoryBuilder().setNameFormat("BucketCacheStatsExecutor").setDaemon(true).build());<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  // Allocate or free space for the block<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  private BucketAllocator bucketAllocator;<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span>  /** Acceptable size of cache (no evictions if size &lt; acceptable) */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private float acceptableFactor;<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /** Minimum threshold of cache (when evicting, evict until size &lt; min) */<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  private float minFactor;<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /** Free this floating point factor of extra blocks when evicting. For example free the number of blocks requested * (1 + extraFreeFactor) */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private float extraFreeFactor;<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /** Single access bucket size */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private float singleFactor;<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /** Multiple access bucket size */<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  private float multiFactor;<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  /** In-memory bucket size */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private float memoryFactor;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  public BucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes,<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      int writerThreadNum, int writerQLen, String persistencePath) throws FileNotFoundException,<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      IOException {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    this(ioEngineName, capacity, blockSize, bucketSizes, writerThreadNum, writerQLen,<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      persistencePath, DEFAULT_ERROR_TOLERATION_DURATION, HBaseConfiguration.create());<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>  public BucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes,<a name="line.258"></a>
-<span class="sourceLineNo">259</span>                     int writerThreadNum, int writerQLen, String persistencePath, int ioErrorsTolerationDuration,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                     Configuration conf)<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throws FileNotFoundException, IOException {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    this.ioEngine = getIOEngineFromName(ioEngineName, capacity, persistencePath);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    this.writerThreads = new WriterThread[writerThreadNum];<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    long blockNumCapacity = capacity / blockSize;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (blockNumCapacity &gt;= Integer.MAX_VALUE) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      // Enough for about 32TB of cache!<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      throw new IllegalArgumentException("Cache capacity is too large, only support 32TB now");<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>    this.acceptableFactor = conf.getFloat(ACCEPT_FACTOR_CONFIG_NAME, DEFAULT_ACCEPT_FACTOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    this.minFactor = conf.getFloat(MIN_FACTOR_CONFIG_NAME, DEFAULT_MIN_FACTOR);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    this.extraFreeFactor = conf.getFloat(EXTRA_FREE_FACTOR_CONFIG_NAME, DEFAULT_EXTRA_FREE_FACTOR);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    this.singleFactor = conf.getFloat(SINGLE_FACTOR_CONFIG_NAME, DEFAULT_SINGLE_FACTOR);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    this.multiFactor = conf.getFloat(MULTI_FACTOR_CONFIG_NAME, DEFAULT_MULTI_FACTOR);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    this.memoryFactor = conf.getFloat(MEMORY_FACTOR_CONFIG_NAME, DEFAULT_MEMORY_FACTOR);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>    sanityCheckConfigs();<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>    LOG.info("Instantiating BucketCache with acceptableFactor: " + acceptableFactor + ", minFactor: " + minFactor +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        ", extraFreeFactor: " + extraFreeFactor + ", singleFactor: " + singleFactor + ", multiFactor: " + multiFactor +<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        ", memoryFactor: " + memoryFactor);<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    this.cacheCapacity = capacity;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    this.persistencePath = persistencePath;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    this.blockSize = blockSize;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    this.ioErrorsTolerationDuration = ioErrorsTolerationDuration;<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>    bucketAllocator = new BucketAllocator(capacity, bucketSizes);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    for (int i = 0; i &lt; writerThreads.length; ++i) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      writerQueues.add(new ArrayBlockingQueue&lt;&gt;(writerQLen));<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    assert writerQueues.size() == writerThreads.length;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    this.ramCache = new ConcurrentHashMap&lt;&gt;();<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    this.backingMap = new ConcurrentHashMap&lt;&gt;((int) blockNumCapacity);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if (ioEngine.isPersistent() &amp;&amp; persistencePath != null) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      try {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        retrieveFromFile(bucketSizes);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      } catch (IOException ioex) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        LOG.error("Can't restore from file because of", ioex);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      } catch (ClassNotFoundException cnfe) {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        LOG.error("Can't restore from file in rebuild because can't deserialise",cnfe);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        throw new RuntimeException(cnfe);<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>    final String threadName = Thread.currentThread().getName();<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    this.cacheEnabled = true;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    for (int i = 0; i &lt; writerThreads.length; ++i) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      writerThreads[i] = new WriterThread(writerQueues.get(i));<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      writerThreads[i].setName(threadName + "-BucketCacheWriter-" + i);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      writerThreads[i].setDaemon(true);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    startWriterThreads();<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    // Run the statistics thread periodically to print the cache statistics log<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    // TODO: Add means of turning this off.  Bit obnoxious running thread just to make a log<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    // every five minutes.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    this.scheduleThreadPool.scheduleAtFixedRate(new StatisticsThread(this),<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        statThreadPeriod, statThreadPeriod, TimeUnit.SECONDS);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    LOG.info("Started bucket cache; ioengine=" + ioEngineName +<a name="line.322"></a>
-<span class="sourceLineNo">323</span>        ", capacity=" + StringUtils.byteDesc(capacity) +<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      ", blockSize=" + StringUtils.byteDesc(blockSize) + ", writerThreadNum=" +<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        writerThreadNum + ", writerQLen=" + writerQLen + ", persistencePath=" +<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      persistencePath + ", bucketAllocator=" + this.bucketAllocator.getClass().getName());<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>  private void sanityCheckConfigs() {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Preconditions.checkArgument(acceptableFactor &lt;= 1 &amp;&amp; acceptableFactor &gt;= 0, ACCEPT_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    Preconditions.checkArgument(minFactor &lt;= 1 &amp;&amp; minFactor &gt;= 0, MIN_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Preconditions.checkArgument(minFactor &lt;= acceptableFactor, MIN_FACTOR_CONFIG_NAME + " must be &lt;= " + ACCEPT_FACTOR_CONFIG_NAME);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    Preconditions.checkArgument(extraFreeFactor &gt;= 0, EXTRA_FREE_FACTOR_CONFIG_NAME + " must be greater than 0.0");<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    Preconditions.checkArgument(singleFactor &lt;= 1 &amp;&amp; singleFactor &gt;= 0, SINGLE_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    Preconditions.checkArgument(multiFactor &lt;= 1 &amp;&amp; multiFactor &gt;= 0, MULTI_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    Preconditions.checkArgument(memoryFactor &lt;= 1 &amp;&amp; memoryFactor &gt;= 0, MEMORY_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    Preconditions.checkArgument((singleFactor + multiFactor + memoryFactor) == 1, SINGLE_FACTOR_CONFIG_NAME + ", " +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        MULTI_FACTOR_CONFIG_NAME + ", and " + MEMORY_FACTOR_CONFIG_NAME + " segments must add up to 1.0");<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  }<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  /**<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * Called by the constructor to start the writer threads. Used by tests that need to override<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * starting the threads.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @VisibleForTesting<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  protected void startWriterThreads() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    for (WriterThread thread : writerThreads) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      thread.start();<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>  @VisibleForTesting<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  boolean isCacheEnabled() {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    return this.cacheEnabled;<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>  @Override<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public long getMaxSize() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    return this.cacheCapacity;<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>  public String getIoEngine() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    return ioEngine.toString();<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>   * Get the IOEngine from the IO engine name<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @param ioEngineName<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * @param capacity<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * @param persistencePath<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @return the IOEngine<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @throws IOException<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  private IOEngine getIOEngineFromName(String ioEngineName, long capacity, String persistencePath)<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      throws IOException {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    if (ioEngineName.startsWith("file:") || ioEngineName.startsWith("files:")) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      // In order to make the usage simple, we only need the prefix 'files:' in<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      // document whether one or multiple file(s), but also support 'file:' for<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      // the compatibility<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      String[] filePaths = ioEngineName.substring(ioEngineName.indexOf(":") + 1)<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          .split(FileIOEngine.FILE_DELIMITER);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return new FileIOEngine(capacity, persistencePath != null, filePaths);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    } else if (ioEngineName.startsWith("offheap")) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      return new ByteBufferIOEngine(capacity);<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    } else if (ioEngineName.startsWith("mmap:")) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      return new FileMmapEngine(ioEngineName.substring(5), capacity);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    } else {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      throw new IllegalArgumentException(<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          "Don't understand io engine name for cache- prefix with file:, files:, mmap: or offheap");<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  }<a name="line.391"></a>
-<span class="sourceLineNo">392</span><a name="line.392"></a>
-<span class="sourceLineNo">393</span>  /**<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * Cache the block with the specified name and buffer.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * @param cacheKey block's cache key<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * @param buf block buffer<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   */<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public void cacheBlock(BlockCacheKey cacheKey, Cacheable buf) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    cacheBlock(cacheKey, buf, false);<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>   * Cache the block with the specified name and buffer.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param cacheKey block's cache key<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param cachedItem block buffer<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * @param inMemory if block is in-memory<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   */<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  @Override<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  public void cacheBlock(BlockCacheKey cacheKey, Cacheable cachedItem, boolean inMemory) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    cacheBlockWithWait(cacheKey, cachedItem, inMemory, wait_when_cache);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * Cache the block to ramCache<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @param cacheKey block's cache key<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @param cachedItem block buffer<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @param inMemory if block is in-memory<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * @param wait if true, blocking wait when queue is full<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   */<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  public void cacheBlockWithWait(BlockCacheKey cacheKey, Cacheable cachedItem, boolean inMemory,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      boolean wait) {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    if (LOG.isTraceEnabled()) LOG.trace("Caching key=" + cacheKey + ", item=" + cachedItem);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    if (!cacheEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      return;<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>    if (backingMap.containsKey(cacheKey)) {<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      Cacheable existingBlock = getBlock(cacheKey, false, false, false);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      try {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        if (BlockCacheUtil.compareCacheBlock(cachedItem, existingBlock) != 0) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>          throw new RuntimeException("Cached block contents differ, which should not have happened."<a name="line.432"></a>
-<span class="sourceLineNo">433</span>              + "cacheKey:" + cacheKey);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        }<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        String msg = "Caching an already cached block: " + cacheKey;<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        msg += ". This is harmless and can happen in rare cases (see HBASE-8547)";<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        LOG.warn(msg);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      } finally {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        // return the block since we need to decrement the count<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        returnBlock(cacheKey, existingBlock);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      }<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>    /*<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * Stuff the entry into the RAM cache so it can get drained to the persistent store<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    RAMQueueEntry re =<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        new RAMQueueEntry(cacheKey, cachedItem, accessCount.incrementAndGet(), inMemory);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    if (ramCache.putIfAbsent(cacheKey, re) != null) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      return;<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    }<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    int queueNum = (cacheKey.hashCode() &amp; 0x7FFFFFFF) % writerQueues.size();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    BlockingQueue&lt;RAMQueueEntry&gt; bq = writerQueues.get(queueNum);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    boolean successfulAddition = false;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    if (wait) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      try {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        successfulAddition = bq.offer(re, DEFAULT_CACHE_WAIT_TIME, TimeUnit.MILLISECONDS);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      } catch (InterruptedException e) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        Thread.currentThread().interrupt();<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    } else {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      successfulAddition = bq.offer(re);<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    if (!successfulAddition) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      ramCache.remove(cacheKey);<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      cacheStats.failInsert();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    } else {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      this.blockNumber.increment();<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      this.heapSize.add(cachedItem.heapSize());<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      blocksByHFile.add(cacheKey);<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>  /**<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * Get the buffer of the block with the specified key.<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * @param key block's cache key<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @param caching true if the caller caches blocks on cache misses<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * @param repeat Whether this is a repeat lookup for the same block<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @param updateCacheMetrics Whether we should update cache metrics or not<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @return buffer of specified cache key, or null if not in cache<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  @Override<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  public Cacheable getBlock(BlockCacheKey key, boolean caching, boolean repeat,<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      boolean updateCacheMetrics) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    if (!cacheEnabled) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return null;<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    RAMQueueEntry re = ramCache.get(key);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (re != null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      if (updateCacheMetrics) {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      }<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      re.access(accessCount.incrementAndGet());<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      return re.getData();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    }<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    BucketEntry bucketEntry = backingMap.get(key);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    if (bucketEntry != null) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      long start = System.nanoTime();<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      try {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>        lock.readLock().lock();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        // We can not read here even if backingMap does contain the given key because its offset<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        // maybe changed. If we lock BlockCacheKey instead of offset, then we can only check<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        // existence here.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>        if (bucketEntry.equals(backingMap.get(key))) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>          // TODO : change this area - should be removed after server cells and<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          // 12295 are available<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          int len = bucketEntry.getLength();<a name="line.509"></a>
-<span class="sourceLineNo">510</span>          if (LOG.isTraceEnabled()) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>            LOG.trace("Read offset=" + bucketEntry.offset() + ", len=" + len);<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          }<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          Cacheable cachedBlock = ioEngine.read(bucketEntry.offset(), len,<a name="line.513"></a>
-<span class="sourceLineNo">514</span>              bucketEntry.deserializerReference(this.deserialiserMap));<a name="line.514"></a>
-<span class="sourceLineNo">515</span>          long timeTaken = System.nanoTime() - start;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          if (updateCacheMetrics) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>            cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.517"></a>
-<span class="sourceLineNo">518</span>            cacheStats.ioHit(timeTaken);<a name="line.518"></a>
-<span class="sourceLineNo">519</span>          }<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          if (cachedBlock.getMemoryType() == MemoryType.SHARED) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>            bucketEntry.refCount.incrementAndGet();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>          bucketEntry.access(accessCount.incrementAndGet());<a name="line.523"></a>
-<span class="sourceLineNo">524</span>          if (this.ioErrorStartTime &gt; 0) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>            ioErrorStartTime = -1;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>          }<a name="line.526"></a>
-<span class="sourceLineNo">527</span>          return cachedBlock;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      } catch (IOException ioex) {<a name="line.529"></a>
-<span class="sourceLineNo">530</span>        LOG.error("Failed reading block " + key + " from bucket cache", ioex);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        checkIOErrorIsTolerated();<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      } finally {<a name="line.532"></a>
-<span class="sourceLineNo">533</span>        lock.readLock().unlock();<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>    if (!repeat &amp;&amp; updateCacheMetrics) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      cacheStats.miss(caching, key.isPrimary(), key.getBlockType());<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    return null;<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>  @VisibleForTesting<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  void blockEvicted(BlockCacheKey cacheKey, BucketEntry bucketEntry, boolean decrementBlockNumber) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    bucketAllocator.freeBlock(bucketEntry.offset());<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    realCacheSize.add(-1 * bucketEntry.getLength());<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    blocksByHFile.remove(cacheKey);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    if (decrementBlockNumber) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.blockNumber.decrement();<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>  }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>  @Override<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  public boolean evictBlock(BlockCacheKey cacheKey) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    return evictBlock(cacheKey, true);<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>  // does not check for the ref count. Just tries to evict it if found in the<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  // bucket map<a name="line.558"></a>
-<span class="sourceLineNo">559</span>  private boolean forceEvict(BlockCacheKey cacheKey) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    if (!cacheEnabled) {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      return false;<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    }<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    RAMQueueEntry removedBlock = checkRamCache(cacheKey);<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    BucketEntry bucketEntry = backingMap.get(cacheKey);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    if (bucketEntry == null) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      if (removedBlock != null) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>        cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.567"></a>
-<span class="sourceLineNo">568</span>        return true;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      } else {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>        return false;<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>    ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    try {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      lock.writeLock().lock();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (backingMap.remove(cacheKey, bucketEntry)) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        blockEvicted(cacheKey, bucketEntry, removedBlock == null);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      } else {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>        return false;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    } finally {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      lock.writeLock().unlock();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    cacheStats.evicted(bucketEntry.getCachedTime(), cacheKey.isPrimary());<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    return true;<a name="line.585"></a>
-<span class="sourceLineNo">586</span>  }<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>  private RAMQueueEntry checkRamCache(BlockCacheKey cacheKey) {<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    RAMQueueEntry removedBlock = ramCache.remove(cacheKey);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    if (removedBlock != null) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      this.blockNumber.decrement();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      this.heapSize.add(-1 * removedBlock.getData().heapSize());<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    }<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    return removedBlock;<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 boolean evictBlock(BlockCacheKey cacheKey, boolean deletedBlock) {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    if (!cacheEnabled) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      return false;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    }<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    RAMQueueEntry removedBlock = checkRamCache(cacheKey);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    BucketEntry bucketEntry = backingMap.get(cacheKey);<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    if (bucketEntry == null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      if (removedBlock != null) {<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        return true;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      } else {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>        return false;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      }<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    }<a name="line.610"></a>
-<span class="sourceLineNo">611</span>    ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    try {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      lock.writeLock().lock();<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      int refCount = bucketEntry.refCount.get();<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      if(refCount == 0) {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        if (backingMap.remove(cacheKey, bucketEntry)) {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>          blockEvicted(cacheKey, bucketEntry, removedBlock == null);<a name="line.617"></a>
-<span class="sourceLineNo">618</span>        } else {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>          return false;<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        }<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      } else {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>        if(!deletedBlock) {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>          if (LOG.isDebugEnabled()) {<a name="line.623"></a>
-<span class="sourceLineNo">624</span>            LOG.debug("This block " + cacheKey + " is still referred by " + refCount<a name="line.624"></a>
-<span class="sourceLineNo">625</span>                + " readers. Can not be freed now");<a name="line.625"></a>
-<span class="sourceLineNo">626</span>          }<a name="line.626"></a>
-<span class="sourceLineNo">627</span>          return false;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        } else {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>          if (LOG.isDebugEnabled()) {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>            LOG.debug("This block " + cacheKey + " is still referred by " + refCount<a name="line.630"></a>
-<span class="sourceLineNo">631</span>                + " readers. Can not be freed now. Hence will mark this"<a name="line.631"></a>
-<span class="sourceLineNo">632</span>                + " for evicting at a later point");<a name="line.632"></a>
-<span class="sourceLineNo">633</span>          }<a name="line.633"></a>
-<span class="sourceLineNo">634</span>          bucketEntry.markedForEvict = true;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        }<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      }<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    } finally {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      lock.writeLock().unlock();<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    }<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    cacheStats.evicted(bucketEntry.getCachedTime(), cacheKey.isPrimary());<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    return true;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>  }<a name="line.642"></a>
-<span class="sourceLineNo">643</span><a name="line.643"></a>
-<span class="sourceLineNo">644</span>  /*<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * Statistics thread.  Periodically output cache statistics to the log.<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  private static class StatisticsThread extends Thread {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    private final BucketCache bucketCache;<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span>    public StatisticsThread(BucketCache bucketCache) {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      super("BucketCacheStatsThread");<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      setDaemon(true);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      this.bucketCache = bucketCache;<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>    @Override<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    public void run() {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>      bucketCache.logStats();<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    }<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  }<a name="line.660"></a>
-<span class="sourceLineNo">661</span><a name="line.661"></a>
-<span class="sourceLineNo">662</span>  public void logStats() {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    long totalSize = bucketAllocator.getTotalSize();<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    long usedSize = bucketAllocator.getUsedSize();<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    long freeSize = totalSize - usedSize;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    long cacheSize = getRealCacheSize();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    LOG.info("failedBlockAdditions=" + cacheStats.getFailedInserts() + ", " +<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        "totalSize=" + StringUtils.byteDesc(totalSize) + ", " +<a name="line.668"></a>
-<span class="sourceLineNo">669</span>        "freeSize=" + StringUtils.byteDesc(freeSize) + ", " +<a name="line.669"></a>
-<span class="sourceLineNo">670</span>        "usedSize=" + StringUtils.byteDesc(usedSize) +", " +<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        "cacheSize=" + StringUtils.byteDesc(cacheSize) +", " +<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        "accesses=" + cacheStats.getRequestCount() + ", " +<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        "hits=" + cacheStats.getHitCount() + ", " +<a name="line.673"></a>
-<span class="sourceLineNo">674</span>        "IOhitsPerSecond=" + cacheStats.getIOHitsPerSecond() + ", " +<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        "IOTimePerHit=" + String.format("%.2f", cacheStats.getIOTimePerHit())+ ", " +<a name="line.675"></a>
-<span class="sourceLineNo">676</span>        "hitRatio=" + (cacheStats.getHitCount() == 0 ? "0," :<a name="line.676"></a>
-<span class="sourceLineNo">677</span>          (StringUtils.formatPercent(cacheStats.getHitRatio(), 2)+ ", ")) +<a name="line.677"></a>
-<span class="sourceLineNo">678</span>        "cachingAccesses=" + cacheStats.getRequestCachingCount() + ", " +<a name="line.678"></a>
-<span class="sourceLineNo">679</span>        "cachingHits=" + cacheStats.getHitCachingCount() + ", " +<a name="line.679"></a>
-<span class="sourceLineNo">680</span>        "cachingHitsRatio=" +(cacheStats.getHitCachingCount() == 0 ? "0," :<a name="line.680"></a>
-<span class="sourceLineNo">681</span>          (StringUtils.formatPercent(cacheStats.getHitCachingRatio(), 2)+ ", ")) +<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        "evictions=" + cacheStats.getEvictionCount() + ", " +<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        "evicted=" + cacheStats.getEvictedCount() + ", " +<a name="line.683"></a>
-<span class="sourceLineNo">684</span>        "evictedPerRun=" + cacheStats.evictedPerEviction());<a name="line.684"></a>
-<span class="sourceLineNo">685</span>    cacheStats.reset();<a name="line.685"></a>
-<span class="sourceLineNo">686</span>  }<a name="line.686"></a>
-<span class="sourceLineNo">687</span><a name="line.687"></a>
-<span class="sourceLineNo">688</span>  public long getRealCacheSize() {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    return this.realCacheSize.sum();<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>  private long acceptableSize() {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>    return (long) Math.floor(bucketAllocator.getTotalSize() * acceptableFactor);<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>  @VisibleForTesting<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  long getPartitionSize(float partitionFactor) {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return (long) Math.floor(bucketAllocator.getTotalSize() * partitionFactor * minFactor);<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>  /**<a name="line.701"></a>
-<span class="sourceLineNo">702</span>   * Return the count of bucketSizeinfos still need free space<a name="line.702"></a>
-<span class="sourceLineNo">703</span>   */<a name="line.703"></a>
-<span class="sourceLineNo">704</span>  private int bucketSizesAboveThresholdCount(float minFactor) {<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    int fullCount = 0;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    for (int i = 0; i &lt; stats.length; i++) {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      freeGoal = Math.max(freeGoal, 1);<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      if (stats[i].freeCount() &lt; freeGoal) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        fullCount++;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      }<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    }<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    return fullCount;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>  }<a name="line.715"></a>
-<span class="sourceLineNo">716</span><a name="line.716"></a>
-<span class="sourceLineNo">717</span>  /**<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * This method will find the buckets that are minimally occupied<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   * and are not reference counted and will free them completely<a name="line.719"></a>
-<span class="sourceLineNo">720</span>   * without any constraint on the access times of the elements,<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   * and as a process will completely free at most the number of buckets<a name="line.721"></a>
-<span class="sourceLineNo">722</span>   * passed, sometimes it might not due to changing refCounts<a name="line.722"></a>
-<span class="sourceLineNo">723</span>   *<a name="line.723"></a>
-<span class="sourceLineNo">724</span>   * @param completelyFreeBucketsNeeded number of buckets to free<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   **/<a name="line.725"></a>
-<span class="sourceLineNo">726</span>  private void freeEntireBuckets(int completelyFreeBucketsNeeded) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    if (completelyFreeBucketsNeeded != 0) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      // First we will build a set where the offsets are reference counted, usually<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      // this set is small around O(Handler Count) unless something else is wrong<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      Set&lt;Integer&gt; inUseBuckets = new HashSet&lt;Integer&gt;();<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      for (BucketEntry entry : backingMap.values()) {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>        if (entry.refCount.get() != 0) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>          inUseBuckets.add(bucketAllocator.getBucketIndex(entry.offset()));<a name="line.733"></a>
-<span class="sourceLineNo">734</span>        }<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>      Set&lt;Integer&gt; candidateBuckets = bucketAllocator.getLeastFilledBuckets(<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          inUseBuckets, completelyFreeBucketsNeeded);<a name="line.738"></a>
-<span class="sourceLineNo">739</span>      for (Map.Entry&lt;BlockCacheKey, BucketEntry&gt; entry : backingMap.entrySet()) {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>        if (candidateBuckets.contains(bucketAllocator<a name="line.740"></a>
-<span class="sourceLineNo">741</span>            .getBucketIndex(entry.getValue().offset()))) {<a name="line.741"></a>
-<span class="sourceLineNo">742</span>          evictBlock(entry.getKey(), false);<a name="line.742"></a>
-<span class="sourceLineNo">743</span>        }<a name="line.743"></a>
-<span class="sourceLineNo">744</span>      }<a name="line.744"></a>
-<span class="sourceLineNo">745</span>    }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>  }<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>   * Free the space if the used size reaches acceptableSize() or one size block<a name="line.749"></a>
-<span class="sourceLineNo">750</span>   * couldn't be allocated. When freeing the space, we use the LRU algorithm and<a name="line.750"></a>
-<span class="sourceLineNo">751</span>   * ensure there must be some blocks evicted<a name="line.751"></a>
-<span class="sourceLineNo">752</span>   * @param why Why we are being called<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   */<a name="line.753"></a>
-<span class="sourceLineNo">754</span>  private void freeSpace(final String why) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span>    // Ensure only one freeSpace progress at a time<a name="line.755"></a>
-<span class="sourceLineNo">756</span>    if (!freeSpaceLock.tryLock()) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    try {<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      freeInProgress = true;<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      long bytesToFreeWithoutExtra = 0;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // Calculate free byte for each bucketSizeinfo<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      StringBuilder msgBuffer = LOG.isDebugEnabled()? new StringBuilder(): null;<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      long[] bytesToFreeForBucket = new long[stats.length];<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      for (int i = 0; i &lt; stats.length; i++) {<a name="line.766"></a>
-<span class="sourceLineNo">767</span>        bytesToFreeForBucket[i] = 0;<a name="line.767"></a>
-<span class="sourceLineNo">768</span>        long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.768"></a>
-<span class="sourceLineNo">769</span>        freeGoal = Math.max(freeGoal, 1);<a name="line.769"></a>
-<span class="sourceLineNo">770</span>        if (stats[i].freeCount() &lt; freeGoal) {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>          bytesToFreeForBucket[i] = stats[i].itemSize() * (freeGoal - stats[i].freeCount());<a name="line.771"></a>
-<span class="sourceLineNo">772</span>          bytesToFreeWithoutExtra += bytesToFreeForBucket[i];<a name="line.772"></a>
-<span class="sourceLineNo">773</span>          if (msgBuffer != null) {<a name="line.773"></a>
-<span class="sourceLineNo">774</span>            msgBuffer.append("Free for bucketSize(" + stats[i].itemSize() + ")="<a name="line.774"></a>
-<span class="sourceLineNo">775</span>              + StringUtils.byteDesc(bytesToFreeForBucket[i]) + ", ");<a name="line.775"></a>
-<span class="sourceLineNo">776</span>          }<a name="line.776"></a>
-<span class="sourceLineNo">777</span>        }<a name="line.777"></a>
-<span class="sourceLineNo">778</span>      }<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      if (msgBuffer != null) {<a name="line.779"></a>
-<span class="sourceLineNo">780</span>        msgBuffer.append("Free for total=" + StringUtils.byteDesc(bytesToFreeWithoutExtra) + ", ");<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>      if (bytesToFreeWithoutExtra &lt;= 0) {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        return;<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      }<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      long currentSize = bucketAllocator.getUsedSize();<a name="line.786"></a>
-<span class="sourceLineNo">787</span>      long totalSize = bucketAllocator.getTotalSize();<a name="line.787"></a>
-<span class="sourceLineNo">788</span>      if (LOG.isDebugEnabled() &amp;&amp; msgBuffer != null) {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>        LOG.debug("Free started because \"" + why + "\"; " + msgBuffer.toString() +<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          " of current used=" + StringUtils.byteDesc(currentSize) + ", actual cacheSize=" +<a name="line.790"></a>
-<span class="sourceLineNo">791</span>          StringUtils.byteDesc(realCacheSize.sum()) + ", total=" + StringUtils.byteDesc(totalSize));<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>      long bytesToFreeWithExtra = (long) Math.floor(bytesToFreeWithoutExtra<a name="line.794"></a>
-<span class="sourceLineNo">795</span>          * (1 + extraFreeFactor));<a name="line.795"></a>
-<span class="sourceLineNo">796</span><a name="line.796"></a>
-<span class="sourceLineNo">797</span>      // Instantiate priority buckets<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      BucketEntryGroup bucketSingle = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.798"></a>
-<span class="sourceLineNo">799</span>          blockSize, getPartitionSize(singleFactor));<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      BucketEntryGroup bucketMulti = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          blockSize, getPartitionSize(multiFactor));<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      BucketEntryGroup bucketMemory = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.802"></a>
-<span class="sourceLineNo">803</span>          blockSize, getPartitionSize(memoryFactor));<a name="line.803"></a>
-<span class="sourceLineNo">804</span><a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Scan entire map putting bucket entry into appropriate bucket entry<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // group<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      for (Map.Entry&lt;BlockCacheKey, BucketEntry&gt; bucketEntryWithKey : backingMap.entrySet()) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>        switch (bucketEntryWithKey.getValue().getPriority()) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>          case SINGLE: {<a name="line.809"></a>
-<span class="sourceLineNo">810</span>            bucketSingle.add(bucketEntryWithKey);<a name="line.810"></a>
-<span class="sourceLineNo">811</span>            break;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>          }<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          case MULTI: {<a name="line.813"></a>
-<span class="sourceLineNo">814</span>            bucketMulti.add(bucketEntryWithKey);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>            break;<a name="line.815"></a>
-<span class="sourceLineNo">816</span>          }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>          case MEMORY: {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>            bucketMemory.add(bucketEntryWithKey);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>            break;<a name="line.819"></a>
-<span class="sourceLineNo">820</span>          }<a name="line.820"></a>
-<span class="sourceLineNo">821</span>        }<a name="line.821"></a>
-<span class="sourceLineNo">822</span>      }<a name="line.822"></a>
-<span class="sourceLineNo">823</span><a name="line.823"></a>
-<span class="sourceLineNo">824</span>      PriorityQueue&lt;BucketEntryGroup&gt; bucketQueue = new PriorityQueue&lt;&gt;(3);<a name="line.824"></a>
+<span class="sourceLineNo">039</span>import java.util.PriorityQueue;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.Set;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.concurrent.ArrayBlockingQueue;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.concurrent.BlockingQueue;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentMap;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.ConcurrentSkipListSet;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.Executors;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.TimeUnit;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.atomic.LongAdder;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.locks.Lock;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.conf.Configuration;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.io.hfile.BlockPriority;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.io.hfile.BlockType;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.hfile.CacheStats;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.hfile.Cacheable;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.hfile.Cacheable.MemoryType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializer;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializerIdManager;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CachedBlock;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFileBlock;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.IdReadWriteLock;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.IdReadWriteLock.ReferenceType;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.util.StringUtils;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.slf4j.Logger;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.slf4j.LoggerFactory;<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;<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> * BucketCache uses {@link BucketAllocator} to allocate/free blocks, and uses<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * BucketCache#ramCache and BucketCache#backingMap in order to<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * determine if a given element is in the cache. The bucket cache can use on-heap or<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * off-heap memory {@link ByteBufferIOEngine} or in a file {@link FileIOEngine} to<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * store/read the block data.<a name="line.89"></a>
+<span class="sourceLineNo">090</span> *<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * &lt;p&gt;Eviction is via a similar algorithm as used in<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache}<a name="line.92"></a>
+<span class="sourceLineNo">093</span> *<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;p&gt;BucketCache can be used as mainly a block cache (see<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * {@link org.apache.hadoop.hbase.io.hfile.CombinedBlockCache}), combined with<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * LruBlockCache to decrease CMS GC and heap fragmentation.<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;p&gt;It also can be used as a secondary cache (e.g. using a file on ssd/fusionio to store<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * blocks) to enlarge cache space via<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache#setVictimCache}<a name="line.100"></a>
+<span class="sourceLineNo">101</span> */<a name="line.101"></a>
+<span class="sourceLineNo">102</span>@InterfaceAudience.Private<a name="line.102"></a>
+<span class="sourceLineNo">103</span>public class BucketCache implements BlockCache, HeapSize {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  private static final Logger LOG = LoggerFactory.getLogger(BucketCache.class);<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /** Priority buckets config */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  static final String SINGLE_FACTOR_CONFIG_NAME = "hbase.bucketcache.single.factor";<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  static final String MULTI_FACTOR_CONFIG_NAME = "hbase.bucketcache.multi.factor";<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  static final String MEMORY_FACTOR_CONFIG_NAME = "hbase.bucketcache.memory.factor";<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  static final String EXTRA_FREE_FACTOR_CONFIG_NAME = "hbase.bucketcache.extrafreefactor";<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  static final String ACCEPT_FACTOR_CONFIG_NAME = "hbase.bucketcache.acceptfactor";<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  static final String MIN_FACTOR_CONFIG_NAME = "hbase.bucketcache.minfactor";<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  /** Priority buckets */<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  @VisibleForTesting<a name="line.115"

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html b/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
index 2fb2450..147ec8c 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMasterCommandLine.LocalHMaster.html
@@ -247,7 +247,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" tit
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#abort-java.lang.String-java.lang.Throwable-">abort</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#abortProcedure-long-boolean-">abortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#addColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-long-long-">addColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#addReplicationPeer-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-boolean-">addReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#balance--">balance</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#balance-boolean-">balance</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#balanceSwitch-boolean-">balanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMa
 ster.html#canCreateBaseZNode--">canCreateBaseZNode</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#canUpdateTableDescriptor--">canUpdateTableDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkIfShouldMoveSystemRegionAsync--">checkIfShouldMoveSystemRegionAsync</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkInitialized--">checkInitialized</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkServiceStarted--">checkServiceStarted</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkTableModifiable-org.apache.hadoop.hbase.TableName-">checkTableModifiable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#configureInfoServer--">configureInfoServer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#constructMaster-java.lang.Class-org.apache.hadoop.conf.Configuration-">constructMaster</a>, <a href="../../.
 ./../../org/apache/hadoop/hbase/master/HMaster.html#createMetaBootstrap-org.apache.hadoop.hbase.master.HMaster-org.apache.hadoop.hbase.monitoring.MonitoredTask-">createMetaBootstrap</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-long-long-">createNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createQuotaSnapshotNotifier--">createQuotaSnapshotNotifier</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createRpcServices--">createRpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createServerManager-org.apache.hadoop.hbase.master.MasterServices-">createServerManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createSystemTable-org.apache.hadoop.hbase.client.TableDescriptor-">createSystemTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createTable-org.ap
 ache.hadoop.hbase.client.TableDescriptor-byte:A:A-long-long-">createTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#decommissionRegionServers-java.util.List-boolean-">decommissionRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#deleteColumn-org.apache.hadoop.hbase.TableName-byte:A-long-long-">deleteColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#deleteNamespace-java.lang.String-long-long-">deleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#deleteTable-org.apache.hadoop.hbase.TableName-long-long-">deleteTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#disableReplicationPeer-java.lang.String-">disableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#disableTable-org.apache.hadoop.hbase.TableName-long-long-">disableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/H
 Master.html#enableReplicationPeer-java.lang.String-">enableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#enableTable-org.apache.hadoop.hbase.TableName-long-long-">enableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getAssignmentManager--">getAssignmentManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getAverageLoad--">getAverageLoad</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getCatalogJanitor--">getCatalogJanitor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClientIdAuditPrefix--">getClientIdAuditPrefix</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterMetrics--">getClusterMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterMetrics-java.util.EnumSet-">getClusterMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClus
 terMetricsWithoutCoprocessor--">getClusterMetricsWithoutCoprocessor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterMetricsWithoutCoprocessor-java.util.EnumSet-">getClusterMetricsWithoutCoprocessor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterSchema--">getClusterSchema</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getDumpServlet--">getDumpServlet</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getFavoredNodesManager--">getFavoredNodesManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getHFileCleaner--">getHFileCleaner</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getInitializedEvent--">getInitializedEvent</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a>, <a href="../../../../../
 org/apache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadBalancer--">getLoadBalancer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadBalancerClassName--">getLoadBalancerClassName</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadedCoprocessors--">getLoadedCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLockManager--">getLockManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLocks--">getLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLogCleaner--">getLogCleaner</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterActiveTime--">getMasterActiveTime</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterCoproc
 essorHost--">getMasterCoprocessorHost</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterCoprocessors--">getMasterCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterFileSystem--">getMasterFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterFinishedInitializationTime--">getMasterFinishedInitializationTime</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterMetrics--">getMasterMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterProcedureExecutor--">getMasterProcedureExecutor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterProcedureManagerHost--">getMasterProcedureManagerHost</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterQuotaManager--">getMasterQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMas
 terRpcServices--">getMasterRpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterStartTime--">getMasterStartTime</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterWalManager--">getMasterWalManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMergePlanCount--">getMergePlanCount</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMetaTableObserver--">getMetaTableObserver</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMobCompactionState-org.apache.hadoop.hbase.TableName-">getMobCompactionState</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNamespace-java.lang.String-">getNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNamespaces--">getNamespaces</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNumWALFiles--">getNumWALFiles</a>, <a href="../
 ../../../../org/apache/hadoop/hbase/master/HMaster.html#getProcedures--">getProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getProcessName--">getProcessName</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getQuotaObserverChore--">getQuotaObserverChore</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionNormalizer--">getRegionNormalizer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionNormalizerTracker--">getRegionNormalizerTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerFatalLogBuffer--">getRegionServerFatalLogBuffer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerInfoPort-org.apache.hadoop.hbase.ServerName-">getRegionServerInfoPort</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerVersion-org.apache.hadoop.hbase.ServerName-">getRegionSe
 rverVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRemoteInetAddress-int-long-">getRemoteInetAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getReplicationPeerConfig-java.lang.String-">getReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getReplicationPeerManager--">getReplicationPeerManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerCrashProcessingEnabledEvent--">getServerCrashProcessingEnabledEvent</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerManager--">getServerManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerName--">getServerName</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSnapshotManager--">getSnapshotManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSpaceQuotaSnapshotNotifier--">getSp
 aceQuotaSnapshotNotifier</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSplitOrMergeTracker--">getSplitOrMergeTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSplitPlanCount--">getSplitPlanCount</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableDescriptors--">getTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableRegionForRow-org.apache.hadoop.hbase.TableName-byte:A-">getTableRegionForRow</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableStateManager--">getTableStateManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getUseThisHostnameInstead-org.apache.hadoop.conf.Configuration-">getUseThisHostnameInstead</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getWalProcedureStore--">getWalProcedureStore</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMas
 ter.html#getZooKeeper--">getZooKeeper</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initClusterSchemaService--">initClusterSchemaService</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initializeZKBasedSystemTrackers--">initializeZKBasedSystemTrackers</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initQuotaManager--">initQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isActiveMaster--">isActiveMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isBalancerOn--">isBalancerOn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isCatalogJanitorEnabled--">isCatalogJanitorEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isCleanerChoreEnabled--">isCleanerChoreEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isInitialized--">isInitialized</a>, <a href="../../../../.
 ./org/apache/hadoop/hbase/master/HMaster.html#isInMaintenanceMode--">isInMaintenanceMode</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isNormalizerOn--">isNormalizerOn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isServerCrashProcessingEnabled--">isServerCrashProcessingEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isSplitOrMergeEnabled-org.apache.hadoop.hbase.client.MasterSwitchType-">isSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listDecommissionedRegionServers--">listDecommissionedRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listReplicationPeers-java.lang.String-">listReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableDescriptors-java.lang.String-java.lang.String-java.util.List-boolean-">listTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hb
 ase/master/HMaster.html#listTableDescriptorsByNamespace-java.lang.String-">listTableDescriptorsByNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableNames-java.lang.String-java.lang.String-boolean-">listTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableNamesByNamespace-java.lang.String-">listTableNamesByNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#login-org.apache.hadoop.hbase.security.UserProvider-java.lang.String-">login</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#main-java.lang.String:A-">main</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#mergeRegions-org.apache.hadoop.hbase.client.RegionInfo:A-boolean-long-long-">mergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-long-lon
 g-">modifyColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-long-long-">modifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-long-long-">modifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#move-byte:A-byte:A-">move</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#normalizeRegions--">normalizeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#recommissionRegionServer-org.apache.hadoop.hbase.ServerName-java.util.List-">recommissionRegionServer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#recoverMeta--">recoverMeta</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#registerService-com.google.protobuf.Service-">registerService</a>, <a hr
 ef="../../../../../org/apache/hadoop/hbase/master/HMaster.html#remoteProcedureCompleted-long-">remoteProcedureCompleted</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#remoteProcedureFailed-long-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">remoteProcedureFailed</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#removeReplicationPeer-java.lang.String-">removeReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reportMobCompactionEnd-org.apache.hadoop.hbase.TableName-">reportMobCompactionEnd</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reportMobCompactionStart-org.apache.hadoop.hbase.TableName-">reportMobCompactionStart</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#requestMobCompaction-org.apache.hadoop.hbase.TableName-java.util.List-boolean-">requestMobCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.h
 tml#restoreSnapshot-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-long-long-boolean-">restoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setCatalogJanitorEnabled-boolean-">setCatalogJanitorEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setInitialized-boolean-">setInitialized</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setServerCrashProcessingEnabled-boolean-">setServerCrashProcessingEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#splitRegion-org.apache.hadoop.hbase.client.RegionInfo-byte:A-long-long-">splitRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stop-java.lang.String-">stop</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopMaster--">stopMaster</a>, <a hre
 f="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopServiceThreads--">stopServiceThreads</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-long-long-">truncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#updateConfigurationForSpaceQuotaObserver-org.apache.hadoop.conf.Configuration-">updateConfigurationForSpaceQuotaObserver</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#updateReplicationPeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">updateReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#waitForMasterActive--">waitForMasterActive</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#abort-java.lang.String-java.lang.Throwable-">abort</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#abortProcedure-long-boolean-">abortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#addColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-long-long-">addColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#addReplicationPeer-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-boolean-">addReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#balance--">balance</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#balance-boolean-">balance</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#balanceSwitch-boolean-">balanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMa
 ster.html#canCreateBaseZNode--">canCreateBaseZNode</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#canUpdateTableDescriptor--">canUpdateTableDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkIfShouldMoveSystemRegionAsync--">checkIfShouldMoveSystemRegionAsync</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkInitialized--">checkInitialized</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkServiceStarted--">checkServiceStarted</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#checkTableModifiable-org.apache.hadoop.hbase.TableName-">checkTableModifiable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#configureInfoServer--">configureInfoServer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#constructMaster-java.lang.Class-org.apache.hadoop.conf.Configuration-">constructMaster</a>, <a href="../../.
 ./../../org/apache/hadoop/hbase/master/HMaster.html#createMetaBootstrap-org.apache.hadoop.hbase.master.HMaster-org.apache.hadoop.hbase.monitoring.MonitoredTask-">createMetaBootstrap</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-long-long-">createNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createQuotaSnapshotNotifier--">createQuotaSnapshotNotifier</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createRpcServices--">createRpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createServerManager-org.apache.hadoop.hbase.master.MasterServices-">createServerManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createSystemTable-org.apache.hadoop.hbase.client.TableDescriptor-">createSystemTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#createTable-org.ap
 ache.hadoop.hbase.client.TableDescriptor-byte:A:A-long-long-">createTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#decommissionRegionServers-java.util.List-boolean-">decommissionRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#decorateMasterConfiguration-org.apache.hadoop.conf.Configuration-">decorateMasterConfiguration</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#deleteColumn-org.apache.hadoop.hbase.TableName-byte:A-long-long-">deleteColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#deleteNamespace-java.lang.String-long-long-">deleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#deleteTable-org.apache.hadoop.hbase.TableName-long-long-">deleteTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#disableReplicationPeer-java.lang.String-">disableReplicationPeer</a>, <a href="../../../../../org/apach
 e/hadoop/hbase/master/HMaster.html#disableTable-org.apache.hadoop.hbase.TableName-long-long-">disableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#enableReplicationPeer-java.lang.String-">enableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#enableTable-org.apache.hadoop.hbase.TableName-long-long-">enableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getAssignmentManager--">getAssignmentManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getAverageLoad--">getAverageLoad</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getCatalogJanitor--">getCatalogJanitor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClientIdAuditPrefix--">getClientIdAuditPrefix</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterMetrics--">getClusterMetrics</a>, <a href="../../../../../org/apache/h
 adoop/hbase/master/HMaster.html#getClusterMetrics-java.util.EnumSet-">getClusterMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterMetricsWithoutCoprocessor--">getClusterMetricsWithoutCoprocessor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterMetricsWithoutCoprocessor-java.util.EnumSet-">getClusterMetricsWithoutCoprocessor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterSchema--">getClusterSchema</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getDumpServlet--">getDumpServlet</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getFavoredNodesManager--">getFavoredNodesManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getHFileCleaner--">getHFileCleaner</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getInitializedEvent--">getInitializedEvent</a>, <a href="../../../../../org/a
 pache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadBalancer--">getLoadBalancer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadBalancerClassName--">getLoadBalancerClassName</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadedCoprocessors--">getLoadedCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLockManager--">getLockManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLocks--">getLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLogCleaner--">getLogCleaner</a>, <a href="../../../../../org/apa
 che/hadoop/hbase/master/HMaster.html#getMasterActiveTime--">getMasterActiveTime</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterCoprocessorHost--">getMasterCoprocessorHost</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterCoprocessors--">getMasterCoprocessors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterFileSystem--">getMasterFileSystem</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterFinishedInitializationTime--">getMasterFinishedInitializationTime</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterMetrics--">getMasterMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterProcedureExecutor--">getMasterProcedureExecutor</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterProcedureManagerHost--">getMasterProcedureManagerHost</a>, <a href="../../../../../or
 g/apache/hadoop/hbase/master/HMaster.html#getMasterQuotaManager--">getMasterQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterRpcServices--">getMasterRpcServices</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterStartTime--">getMasterStartTime</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterWalManager--">getMasterWalManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMergePlanCount--">getMergePlanCount</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMetaTableObserver--">getMetaTableObserver</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMobCompactionState-org.apache.hadoop.hbase.TableName-">getMobCompactionState</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNamespace-java.lang.String-">getNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master
 /HMaster.html#getNamespaces--">getNamespaces</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNumWALFiles--">getNumWALFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getProcedures--">getProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getProcessName--">getProcessName</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getQuotaObserverChore--">getQuotaObserverChore</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionNormalizer--">getRegionNormalizer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionNormalizerTracker--">getRegionNormalizerTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerFatalLogBuffer--">getRegionServerFatalLogBuffer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerInfoPort-org.apache.hadoop.hbase.ServerName-">
 getRegionServerInfoPort</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerVersion-org.apache.hadoop.hbase.ServerName-">getRegionServerVersion</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRemoteInetAddress-int-long-">getRemoteInetAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getReplicationPeerConfig-java.lang.String-">getReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getReplicationPeerManager--">getReplicationPeerManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerCrashProcessingEnabledEvent--">getServerCrashProcessingEnabledEvent</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerManager--">getServerManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerName--">getServerName</a>, <a href="../../../../../org/apache/hadoop/hbase/mast
 er/HMaster.html#getSnapshotManager--">getSnapshotManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSpaceQuotaSnapshotNotifier--">getSpaceQuotaSnapshotNotifier</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSplitOrMergeTracker--">getSplitOrMergeTracker</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSplitPlanCount--">getSplitPlanCount</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableDescriptors--">getTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableRegionForRow-org.apache.hadoop.hbase.TableName-byte:A-">getTableRegionForRow</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableStateManager--">getTableStateManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getUseThisHostnameInstead-org.apache.hadoop.conf.Configuration-">getUseThisHostnameInstead</a>, <a href="
 ../../../../../org/apache/hadoop/hbase/master/HMaster.html#getWalProcedureStore--">getWalProcedureStore</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getZooKeeper--">getZooKeeper</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initClusterSchemaService--">initClusterSchemaService</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initializeZKBasedSystemTrackers--">initializeZKBasedSystemTrackers</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initQuotaManager--">initQuotaManager</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isActiveMaster--">isActiveMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isBalancerOn--">isBalancerOn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isCatalogJanitorEnabled--">isCatalogJanitorEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isCleanerC
 horeEnabled--">isCleanerChoreEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isInitialized--">isInitialized</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isInMaintenanceMode--">isInMaintenanceMode</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isNormalizerOn--">isNormalizerOn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isServerCrashProcessingEnabled--">isServerCrashProcessingEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isSplitOrMergeEnabled-org.apache.hadoop.hbase.client.MasterSwitchType-">isSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listDecommissionedRegionServers--">listDecommissionedRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listReplicationPeers-java.lang.String-">listReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/ma
 ster/HMaster.html#listTableDescriptors-java.lang.String-java.lang.String-java.util.List-boolean-">listTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableDescriptorsByNamespace-java.lang.String-">listTableDescriptorsByNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableNames-java.lang.String-java.lang.String-boolean-">listTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableNamesByNamespace-java.lang.String-">listTableNamesByNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#login-org.apache.hadoop.hbase.security.UserProvider-java.lang.String-">login</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#main-java.lang.String:A-">main</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#mergeRegions-org.apache.hadoop.hbase.client.RegionInfo:A-boolean-long-long-">mergeRegions</a>, <a href="
 ../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-long-long-">modifyColumn</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-long-long-">modifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-long-long-">modifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#move-byte:A-byte:A-">move</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#normalizeRegions--">normalizeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#recommissionRegionServer-org.apache.hadoop.hbase.ServerName-java.util.List-">recommissionRegionServer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reco
 verMeta--">recoverMeta</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#registerService-com.google.protobuf.Service-">registerService</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#remoteProcedureCompleted-long-">remoteProcedureCompleted</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#remoteProcedureFailed-long-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">remoteProcedureFailed</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#removeReplicationPeer-java.lang.String-">removeReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reportMobCompactionEnd-org.apache.hadoop.hbase.TableName-">reportMobCompactionEnd</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reportMobCompactionStart-org.apache.hadoop.hbase.TableName-">reportMobCompactionStart</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#re
 questMobCompaction-org.apache.hadoop.hbase.TableName-java.util.List-boolean-">requestMobCompaction</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#restoreSnapshot-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-long-long-boolean-">restoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setCatalogJanitorEnabled-boolean-">setCatalogJanitorEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setInitialized-boolean-">setInitialized</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setServerCrashProcessingEnabled-boolean-">setServerCrashProcessingEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#splitRegion-org.apache.hadoop.hbase.client.RegionInfo-byte:A-long-long-">splitRegion</a>, <a href="../../../../../org/apache/had
 oop/hbase/master/HMaster.html#stop-java.lang.String-">stop</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopMaster--">stopMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopServiceThreads--">stopServiceThreads</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-long-long-">truncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#updateConfigurationForSpaceQuotaObserver-org.apache.hadoop.conf.Configuration-">updateConfigurationForSpaceQuotaObserver</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#updateReplicationPeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">updateReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#waitForMasterActive--">waitForMasterActive</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.regionserver.HRegionServer">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html
index d0f2b52..06658f5 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html
@@ -472,7 +472,9 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState-">rollbackState</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,
              org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState&nbsp;state)</code>
-<div class="block">called to perform the rollback of the specified state</div>
+<div class="block">To rollback <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment"><code>MergeTableRegionsProcedure</code></a>, two AssignProcedures are asynchronously
+ submitted for each region to be merged (rollback doesn't wait on the completion of the
+ AssignProcedures) .</div>
 </td>
 </tr>
 <tr id="i36" class="altColor">
@@ -782,12 +784,14 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.267">rollbackState</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/assignment/MergeTableRegionsProcedure.html#line.273">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                              org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState&nbsp;state)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState-TEnvironment-TState-">StateMachineProcedure</a></code></span></div>
-<div class="block">called to perform the rollback of the specified state</div>
+<div class="block">To rollback <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment"><code>MergeTableRegionsProcedure</code></a>, two AssignProcedures are asynchronously
+ submitted for each region to be merged (rollback doesn't wait on the completion of the
+ AssignProcedures) . This can be improved by changing rollback() to support sub-procedures.
+ See HBASE-19851 for details.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState-TEnvironment-TState-">rollbackState</a></code>&nbsp;in class&nbsp;<code><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>,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState&gt;</code></dd>
@@ -804,7 +808,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>isRollbackSupported</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.315">isRollbackSupported</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState&nbsp;state)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.321">isRollbackSupported</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState&nbsp;state)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#isRollbackSupported-TState-">StateMachineProcedure</a></code></span></div>
 <div class="block">Used by the default implementation of abort() to know if the current state can be aborted
  and rollback can be triggered.</div>
@@ -820,7 +824,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.330">getState</a>(int&nbsp;stateId)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.336">getState</a>(int&nbsp;stateId)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState-int-">StateMachineProcedure</a></code></span></div>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 <dl>
@@ -839,7 +843,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateId</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.335">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState&nbsp;state)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.341">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState&nbsp;state)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId-TState-">StateMachineProcedure</a></code></span></div>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 <dl>
@@ -858,7 +862,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.340">getInitialState</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.346">getInitialState</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState--">StateMachineProcedure</a></code></span></div>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 <dl>
@@ -875,7 +879,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.345">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.351">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
 <div class="block">The user-level code of the procedure may have some state to
@@ -897,7 +901,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>deserializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.361">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.367">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
 <div class="block">Called on store load to allow the user to decode the previously serialized
@@ -918,7 +922,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringClassDetails</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.379">toStringClassDetails</a>(<a href="http://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/assignment/MergeTableRegionsProcedure.html#line.385">toStringClassDetails</a>(<a href="http://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>
@@ -936,7 +940,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <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/assignment/MergeTableRegionsProcedure.html#line.390">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/assignment/MergeTableRegionsProcedure.html#line.396">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
@@ -973,7 +977,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseLock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.407">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/assignment/MergeTableRegionsProcedure.html#line.413">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>
@@ -988,7 +992,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>holdLock</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.414">holdLock</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;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.420">holdLock</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#holdLock-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">Used to keep the procedure lock even when the procedure is yielding or suspended.
  Must implement <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#hasLock-TEnvironment-"><code>Procedure.hasLock(Object)</code></a> if you want to hold the lock for life
@@ -1009,7 +1013,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>hasLock</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.419">hasLock</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;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.425">hasLock</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#hasLock-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">This is used in conjunction with <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-"><code>Procedure.holdLock(Object)</code></a>. If <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#holdLock-TEnvironment-"><code>Procedure.holdLock(Object)</code></a>
  returns true, the procedure executor will call acquireLock() once and thereafter
@@ -1031,7 +1035,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <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/master/assignment/MergeTableRegionsProcedure.html#line.424">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/master/assignment/MergeTableRegionsProcedure.html#line.430">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>
@@ -1048,7 +1052,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableOperationType</h4>
-<pre>public&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/assignment/MergeTableRegionsProcedure.html#line.429">getTableOperationType</a>()</pre>
+<pre>public&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/assignment/MergeTableRegionsProcedure.html#line.435">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)
@@ -1069,7 +1073,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcedureMetrics</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureMetrics.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.434">getProcedureMetrics</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/ProcedureMetrics.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.440">getProcedureMetrics</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#getProcedureMetrics-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">Override this method to provide procedure specific counters for submitted count, failed
  count and time histogram.</div>
@@ -1089,7 +1093,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareMergeRegion</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.443">prepareMergeRegion</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>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.449">prepareMergeRegion</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Prepare merge and do some check</div>
 <dl>
@@ -1106,7 +1110,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>isMergeable</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.512">isMergeable</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>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.518">isMergeable</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/RegionState.html" title="class in org.apache.hadoop.hbase.master">RegionState</a>&nbsp;rs)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1121,7 +1125,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>preMergeRegions</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.523">preMergeRegions</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.529">preMergeRegions</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Pre merge region action</div>
 <dl>
@@ -1138,7 +1142,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>postRollBackMergeRegions</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.543">postRollBackMergeRegions</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.549">postRollBackMergeRegions</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Action after rollback a merge table regions action.</div>
 <dl>
@@ -1155,7 +1159,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>setRegionStateToMerging</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.555">setRegionStateToMerging</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>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.561">setRegionStateToMerging</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Set the region states to MERGING state</div>
 <dl>
@@ -1172,7 +1176,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>setRegionStateBackToOpen</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.568">setRegionStateBackToOpen</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.574">setRegionStateBackToOpen</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Rollback the region state change
  Not used for now, since rollbackCloseRegionsForMerge() will mark regions as OPEN</div>
@@ -1190,7 +1194,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>createMergedRegion</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.580">createMergedRegion</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.586">createMergedRegion</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create merged region</div>
 <dl>
@@ -1207,7 +1211,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeStoreFiles</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.607">mergeStoreFiles</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.613">mergeStoreFiles</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/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;regionFs,
                              org.apache.hadoop.fs.Path&nbsp;mergedDir)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1228,7 +1232,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupMergedRegion</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.635">cleanupMergedRegion</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.641">cleanupMergedRegion</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Clean up merged region</div>
 <dl>
@@ -1245,7 +1249,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackCloseRegionsForMerge</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.648">rollbackCloseRegionsForMerge</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.654">rollbackCloseRegionsForMerge</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Rollback close regions</div>
 <dl>
@@ -1262,7 +1266,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>createUnassignProcedures</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/UnassignProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">UnassignProcedure</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.665">createUnassignProcedures</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>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/UnassignProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">UnassignProcedure</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.671">createUnassignProcedures</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                      int&nbsp;regionReplication)</pre>
 </li>
 </ul>
@@ -1272,7 +1276,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>createAssignProcedures</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignProcedure</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.679">createAssignProcedures</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>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignProcedure</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.685">createAssignProcedures</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                  int&nbsp;regionReplication)</pre>
 </li>
 </ul>
@@ -1282,7 +1286,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionReplication</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.690">getRegionReplication</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>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.696">getRegionReplication</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1296,7 +1300,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>preMergeRegionsCommit</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.699">preMergeRegionsCommit</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.705">preMergeRegionsCommit</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Post merge region action</div>
 <dl>
@@ -1313,7 +1317,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>updateMetaForMergedRegions</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.720">updateMetaForMergedRegions</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.726">updateMetaForMergedRegions</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                         <a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureYieldException.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureYieldException</a></pre>
 <div class="block">Add merged region to META and delete original regions.</div>
@@ -1330,7 +1334,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>postMergeRegionsCommit</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.731">postMergeRegionsCommit</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.737">postMergeRegionsCommit</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Post merge region action</div>
 <dl>
@@ -1347,7 +1351,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>postCompletedMergeRegions</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.742">postCompletedMergeRegions</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>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.748">postCompletedMergeRegions</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Post merge region action</div>
 <dl>
@@ -1364,7 +1368,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerName</h4>
-<pre>private&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/MergeTableRegionsProcedure.html#line.755">getServerName</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>private&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/MergeTableRegionsProcedure.html#line.761">getServerName</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">The procedure could be restarted from a different machine. If the variable is null, we need to
  retrieve it.</div>
 <dl>
@@ -1381,7 +1385,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>isTraceEnabled</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.772">isTraceEnabled</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#line.778">isTraceEnabled</a>()</pre>
 <div class="block">The procedure could be restarted from a different machine. If the variable is null, we need to
  retrieve it.</div>
 <dl>
@@ -1396,7 +1400,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getMergedRegion</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/master/assignment/MergeTableRegionsProcedure.html#line.783">getMergedRegion</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/master/assignment/MergeTableRegionsProcedure.html#line.789">getMergedRegion</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The merged region. Maybe be null if called to early or we failed.</dd>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html b/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html
index e1dc6a3..11511ca 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.91">DisabledWALProvider.DisabledWAL</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.90">DisabledWALProvider.DisabledWAL</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></pre>
 </li>
@@ -349,7 +349,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>listeners</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.92">listeners</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.91">listeners</a></pre>
 </li>
 </ul>
 <a name="path">
@@ -358,7 +358,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>path</h4>
-<pre>protected final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.93">path</a></pre>
+<pre>protected final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.92">path</a></pre>
 </li>
 </ul>
 <a name="coprocessorHost">
@@ -367,7 +367,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>coprocessorHost</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.94">coprocessorHost</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.93">coprocessorHost</a></pre>
 </li>
 </ul>
 <a name="closed">
@@ -376,7 +376,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockListLast">
 <li class="blockList">
 <h4>closed</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.95">closed</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.94">closed</a></pre>
 </li>
 </ul>
 </li>
@@ -393,7 +393,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DisabledWAL</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.97">DisabledWAL</a>(org.apache.hadoop.fs.Path&nbsp;path,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.96">DisabledWAL</a>(org.apache.hadoop.fs.Path&nbsp;path,
                    org.apache.hadoop.conf.Configuration&nbsp;conf,
                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners)</pre>
 </li>
@@ -412,7 +412,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>registerWALActionsListener</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.109">registerWALActionsListener</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.108">registerWALActionsListener</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#registerWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">WAL</a></code></span></div>
 <div class="block">Registers WALActionsListener</div>
 <dl>
@@ -427,7 +427,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>unregisterWALActionsListener</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.114">unregisterWALActionsListener</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.113">unregisterWALActionsListener</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#unregisterWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">WAL</a></code></span></div>
 <div class="block">Unregisters WALActionsListener</div>
 <dl>
@@ -442,7 +442,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>rollWriter</h4>
-<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.119">rollWriter</a>()</pre>
+<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.118">rollWriter</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#rollWriter--">WAL</a></code></span></div>
 <div class="block">Roll the log writer. That is, start writing log messages to a new file.
 
@@ -465,7 +465,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>rollWriter</h4>
-<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.143">rollWriter</a>(boolean&nbsp;force)</pre>
+<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.142">rollWriter</a>(boolean&nbsp;force)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#rollWriter-boolean-">WAL</a></code></span></div>
 <div class="block">Roll the log writer. That is, start writing log messages to a new file.
 
@@ -491,7 +491,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.148">shutdown</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.147">shutdown</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#shutdown--">WAL</a></code></span></div>
 <div class="block">Stop accepting new writes. If we have unsynced writes still in buffer, sync them.
  Extant edits are left in place in backing storage to be replayed later.</div>
@@ -507,7 +507,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.159">close</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.158">close</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#close--">WAL</a></code></span></div>
 <div class="block">Caller no longer needs any edits from this WAL. Implementers are free to reclaim
  underlying resources after this call; i.e. filesystem based WALs can archive or
@@ -528,7 +528,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.164">append</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.163">append</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                    <a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;key,
                    <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edits,
                    boolean&nbsp;inMemstore)
@@ -563,7 +563,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>updateStore</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.181">updateStore</a>(byte[]&nbsp;encodedRegionName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.180">updateStore</a>(byte[]&nbsp;encodedRegionName,
                         byte[]&nbsp;familyName,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;sequenceid,
                         boolean&nbsp;onlyIfGreater)</pre>
@@ -583,7 +583,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>sync</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.185">sync</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.184">sync</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#sync--">WAL</a></code></span></div>
 <div class="block">Sync what we have in the WAL.</div>
 <dl>
@@ -598,7 +598,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>sync</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.194">sync</a>(long&nbsp;txid)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.193">sync</a>(long&nbsp;txid)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#sync-long-">WAL</a></code></span></div>
 <div class="block">Sync the WAL if the txId was not already sync'd.</div>
 <dl>
@@ -615,7 +615,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>startCacheFlush</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.199">startCacheFlush</a>(byte[]&nbsp;encodedRegionName,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.198">startCacheFlush</a>(byte[]&nbsp;encodedRegionName,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;flushedFamilyNamesToSeq)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -629,7 +629,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>startCacheFlush</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.205">startCacheFlush</a>(byte[]&nbsp;encodedRegionName,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.204">startCacheFlush</a>(byte[]&nbsp;encodedRegionName,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt;&nbsp;flushedFamilyNames)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#startCacheFlush-byte:A-java.util.Set-">WAL</a></code></span></div>
 <div class="block">WAL keeps track of the sequence numbers that are as yet not flushed im memstores
@@ -661,7 +661,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>completeCacheFlush</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.211">completeCacheFlush</a>(byte[]&nbsp;encodedRegionName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.210">completeCacheFlush</a>(byte[]&nbsp;encodedRegionName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#completeCacheFlush-byte:A-">WAL</a></code></span></div>
 <div class="block">Complete the cache flush.</div>
 <dl>
@@ -681,7 +681,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>abortCacheFlush</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.215">abortCacheFlush</a>(byte[]&nbsp;encodedRegionName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.214">abortCacheFlush</a>(byte[]&nbsp;encodedRegionName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#abortCacheFlush-byte:A-">WAL</a></code></span></div>
 <div class="block">Abort a cache flush. Call if the flush fails. Note that the only recovery
  for an aborted flush currently is a restart of the regionserver so the
@@ -700,7 +700,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>getCoprocessorHost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.219">getCoprocessorHost</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.218">getCoprocessorHost</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#getCoprocessorHost--">getCoprocessorHost</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></dd>
@@ -715,7 +715,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>getEarliestMemStoreSeqNum</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.224">getEarliestMemStoreSeqNum</a>(byte[]&nbsp;encodedRegionName)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.223">getEarliestMemStoreSeqNum</a>(byte[]&nbsp;encodedRegionName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#getEarliestMemStoreSeqNum-byte:A-">WAL</a></code></span></div>
 <div class="block">Gets the earliest unflushed sequence id in the memstore for the region.</div>
 <dl>
@@ -734,7 +734,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>getEarliestMemStoreSeqNum</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.229">getEarliestMemStoreSeqNum</a>(byte[]&nbsp;encodedRegionName,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.228">getEarliestMemStoreSeqNum</a>(byte[]&nbsp;encodedRegionName,
                                       byte[]&nbsp;familyName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#getEarliestMemStoreSeqNum-byte:A-byte:A-">WAL</a></code></span></div>
 <div class="block">Gets the earliest unflushed sequence id in the memstore for the store.</div>
@@ -755,7 +755,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.234">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.233">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#toString--">WAL</a></code></span></div>
 <div class="block">Human readable identifying information about the state of this WAL.
  Implementors are encouraged to include information appropriate for debugging.
@@ -775,7 +775,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getLogFileSizeIfBeingWritten</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/OptionalLong.html?is-external=true" title="class or interface in java.util">OptionalLong</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.239">getLogFileSizeIfBeingWritten</a>(org.apache.hadoop.fs.Path&nbsp;path)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/OptionalLong.html?is-external=true" title="class or interface in java.util">OptionalLong</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#line.238">getLogFileSizeIfBeingWritten</a>(org.apache.hadoop.fs.Path&nbsp;path)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html#getLogFileSizeIfBeingWritten-org.apache.hadoop.fs.Path-">getLogFileSizeIfBeingWritten</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.html b/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.html
index 1f160c2..5418ebf 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -206,40 +206,45 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>
+<div class="block">Add a <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal"><code>WALActionsListener</code></a>.</div>
+</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/DisabledWALProvider.html#close--">close</a></span>()</code>
 <div class="block">shutdown utstanding WALs and clean up any persisted state.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.html#getLogFileSize--">getLogFileSize</a></span>()</code>
 <div class="block">Get size of the log files this provider is managing</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<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/wal/DisabledWALProvider.html#getNumLogFiles--">getNumLogFiles</a></span>()</code>
 <div class="block">Get number of the log files this provider is managing</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</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="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.html#getWALs--">getWALs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<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/wal/DisabledWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
     org.apache.hadoop.conf.Configuration&nbsp;conf,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>
 <div class="block">Set up the provider to create wals.</div>
 </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/wal/DisabledWALProvider.html#shutdown--">shutdown</a></span>()</code>
 <div class="block">persist outstanding WALs to storage and stop accepting new appends.</div>
@@ -253,6 +258,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://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="http://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="http://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.wal.WALProvider">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWALFileLengthProvider--">getWALFileLengthProvider</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -310,7 +322,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">
+<a name="init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -318,19 +330,16 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <h4>init</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.58">init</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
                  org.apache.hadoop.conf.Configuration&nbsp;conf,
-                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)
           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">WALProvider</a></code></span></div>
-<div class="block">Set up the provider to create wals.
- will only be called once per instance.</div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">WALProvider</a></code></span></div>
+<div class="block">Set up the provider to create wals. will only be called once per instance.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>factory</code> - factory that made us may not be null</dd>
 <dd><code>conf</code> - may not be null</dd>
-<dd><code>listeners</code> - may be null</dd>
 <dd><code>providerId</code> - differentiate between providers from one factory. may be null</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
@@ -343,7 +352,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALs</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.70">getWALs</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.69">getWALs</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWALs--">getWALs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
@@ -358,7 +367,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getWAL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.77">getWAL</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;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.76">getWAL</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -378,12 +387,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.82">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.81">close</a>()
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#close--">WALProvider</a></code></span></div>
-<div class="block">shutdown utstanding WALs and clean up any persisted state.
- Call this method only when you will not need to replay any of the edits to the WALs from
- this provider. After this call completes, the underlying resources should have been reclaimed.</div>
+<div class="block">shutdown utstanding WALs and clean up any persisted state. Call this method only when you will
+ not need to replay any of the edits to the WALs from this provider. After this call completes,
+ the underlying resources should have been reclaimed.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#close--">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
@@ -398,12 +407,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.87">shutdown</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.86">shutdown</a>()
               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#shutdown--">WALProvider</a></code></span></div>
-<div class="block">persist outstanding WALs to storage and stop accepting new appends.
- This method serves as shorthand for sending a sync to every WAL provided by a given
- implementation. Those WALs will also stop accepting new writes.</div>
+<div class="block">persist outstanding WALs to storage and stop accepting new appends. This method serves as
+ shorthand for sending a sync to every WAL provided by a given implementation. Those WALs will
+ also stop accepting new writes.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#shutdown--">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
@@ -418,7 +427,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumLogFiles</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.245">getNumLogFiles</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.244">getNumLogFiles</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getNumLogFiles--">WALProvider</a></code></span></div>
 <div class="block">Get number of the log files this provider is managing</div>
 <dl>
@@ -430,10 +439,10 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <a name="getLogFileSize--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getLogFileSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.250">getLogFileSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.249">getLogFileSize</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getLogFileSize--">WALProvider</a></code></span></div>
 <div class="block">Get size of the log files this provider is managing</div>
 <dl>
@@ -442,6 +451,25 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 </dl>
 </li>
 </ul>
+<a name="addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>addWALActionsListener</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/DisabledWALProvider.html#line.254">addWALActionsListener</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">WALProvider</a></code></span></div>
+<div class="block">Add a <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal"><code>WALActionsListener</code></a>.
+ <p>
+ Notice that you must call this method before calling <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-"><code>WALProvider.getWAL(RegionInfo)</code></a> as this method
+ will not effect the <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal"><code>WAL</code></a> which has already been created. And as long as we can only it
+ when initialization, it is not thread safe.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html b/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html
index 4e26e8b..5d6703f 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.html#line.46">FSHLogProvider.Writer</a>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.html#line.44">FSHLogProvider.Writer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a></pre>
 </li>
 </ul>
@@ -182,7 +182,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>init</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html#line.52">init</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html#line.50">init</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
           org.apache.hadoop.fs.Path&nbsp;path,
           org.apache.hadoop.conf.Configuration&nbsp;c,
           boolean&nbsp;overwritable)
@@ -191,9 +191,8 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.h
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if something goes wrong initializing an output stream</dd>
-<dd><code>StreamLacksCapabilityException</code> - if the given FileSystem can't provide streams that
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.StreamLacksCapabilityException.html" title="class in org.apache.hadoop.hbase.util">CommonFSUtils.StreamLacksCapabilityException</a></code> - if the given FileSystem can't provide streams that
          meet the needs of the given Writer implementation.</dd>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/util/CommonFSUtils.StreamLacksCapabilityException.html" title="class in org.apache.hadoop.hbase.util">CommonFSUtils.StreamLacksCapabilityException</a></code></dd>
 </dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.html b/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.html
index 918a56e..a813505 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.html
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Private
  @InterfaceStability.Evolving
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.html#line.41">FSHLogProvider</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.html#line.39">FSHLogProvider</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog</a>&gt;</pre>
 <div class="block">A WAL provider that use <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><code>FSHLog</code></a>.</div>
 </li>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvide
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#close--">close</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#extractFileNumFromWAL-org.apache.hadoop.hbase.wal.WAL-">extractFileNumFromWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getArchivedLogPath-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">getArchivedLogPath</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getCurrentFileName-org.apache.hadoop.hbase.wal.WAL-">getCurrentFileName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize--">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize-org.apache.hadoop.hbase.wal.WAL-">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumLogFiles--">getNumLogFiles</a>, <a hr
 ef="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumRolledLogFiles-org.apache.hadoop.hbase.wal.WAL-">getNumRolledLogFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.fs.Path-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALArchiveDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getWALArchiveDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALDirectoryName-java.lang.String-">
 getWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALPrefixFromWALName-java.lang.String-">getWALPrefixFromWALName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALs--">getWALs</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isArchivedLogFile-org.apache.hadoop.fs.Path-">isArchivedLogFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-org.apache.hadoop.fs.Path-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-java.lang.String-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#openReader-org.apache.hadoop
 .fs.Path-org.apache.hadoop.conf.Configuration-">openReader</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#requestLogRoll-org.apache.hadoop.hbase.wal.WAL-">requestLogRoll</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-">validateWALFilename</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#close--">close</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#extractFileNumFromWAL-org.apache.hadoop.hbase.wal.WAL-">extractFileNumFromWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getArchivedLogPath-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">getArchivedLogPath</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getCurrentFileName-org.apache.hadoop.hbase.wal.WAL-">getCurrentFileName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize--">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#g
 etLogFileSize-org.apache.hadoop.hbase.wal.WAL-">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumLogFiles--">getNumLogFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumRolledLogFiles-org.apache.hadoop.hbase.wal.WAL-">getNumRolledLogFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.fs.Path-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALArchiveDirectoryName-org.apache.hadoo
 p.conf.Configuration-java.lang.String-">getWALArchiveDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALDirectoryName-java.lang.String-">getWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALPrefixFromWALName-java.lang.String-">getWALPrefixFromWALName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALs--">getWALs</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isArchivedLogFile-org.apache.hadoop.fs.Path-">isArchivedLogFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-org.apache.hadoop.fs.Path-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/Abstr
 actFSWALProvider.html#isMetaFile-java.lang.String-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#openReader-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">openReader</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#requestLogRoll-org.apache.hadoop.hbase.wal.WAL-">requestLogRoll</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-">validateWALFilename</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -249,6 +249,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvide
 <h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://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="http://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="http://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.wal.WALProvider">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWALFileLengthProvider--">getWALFileLengthProvider</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -269,7 +276,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvide
 <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/wal/FSHLogProvider.html#line.43">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.html#line.41">LOG</a></pre>
 </li>
 </ul>
 </li>
@@ -286,7 +293,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvide
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FSHLogProvider</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.html#line.41">FSHLogProvider</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.html#line.39">FSHLogProvider</a>()</pre>
 </li>
 </ul>
 </li>
@@ -303,7 +310,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvide
 <ul class="blockList">
 <li class="blockList">
 <h4>createWriter</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">FSHLogProvider.Writer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.html#line.59">createWriter</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">FSHLogProvider.Writer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.html#line.57">createWriter</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                  org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                  org.apache.hadoop.fs.Path&nbsp;path,
                                                  boolean&nbsp;overwritable)
@@ -321,7 +328,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvide
 <ul class="blockList">
 <li class="blockList">
 <h4>createWAL</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.html#line.91">createWAL</a>()
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.html#line.89">createWAL</a>()
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -337,7 +344,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvide
 <ul class="blockListLast">
 <li class="blockList">
 <h4>doInit</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.html#line.99">doInit</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/FSHLogProvider.html#line.97">doInit</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/RegionGroupingProvider.IdentityGroupingStrategy.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/RegionGroupingProvider.IdentityGroupingStrategy.html b/devapidocs/org/apache/hadoop/hbase/wal/RegionGroupingProvider.IdentityGroupingStrategy.html
index 06f445b..7507d46 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/RegionGroupingProvider.IdentityGroupingStrategy.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/RegionGroupingProvider.IdentityGroupingStrategy.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.254">RegionGroupingProvider.IdentityGroupingStrategy</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.249">RegionGroupingProvider.IdentityGroupingStrategy</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.RegionGroupingStrategy.html" title="interface in org.apache.hadoop.hbase.wal">RegionGroupingProvider.RegionGroupingStrategy</a></pre>
 </li>
@@ -210,7 +210,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingPro
 <ul class="blockListLast">
 <li class="blockList">
 <h4>IdentityGroupingStrategy</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.IdentityGroupingStrategy.html#line.254">IdentityGroupingStrategy</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.IdentityGroupingStrategy.html#line.249">IdentityGroupingStrategy</a>()</pre>
 </li>
 </ul>
 </li>
@@ -227,7 +227,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingPro
 <ul class="blockList">
 <li class="blockList">
 <h4>init</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.IdentityGroupingStrategy.html#line.256">init</a>(org.apache.hadoop.conf.Configuration&nbsp;config,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.IdentityGroupingStrategy.html#line.251">init</a>(org.apache.hadoop.conf.Configuration&nbsp;config,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -241,7 +241,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingPro
 <ul class="blockListLast">
 <li class="blockList">
 <h4>group</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.IdentityGroupingStrategy.html#line.258">group</a>(byte[]&nbsp;identifier,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.IdentityGroupingStrategy.html#line.253">group</a>(byte[]&nbsp;identifier,
                     byte[]&nbsp;namespace)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.RegionGroupingStrategy.html#group-byte:A-byte:A-">RegionGroupingProvider.RegionGroupingStrategy</a></code></span></div>
 <div class="block">Given an identifier and a namespace, pick a group.</div>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html
index 856c415..ebec045 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3310">HRegion.MutationBatchOperation</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3311">HRegion.MutationBatchOperation</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</pre>
 <div class="block">Batch of mutation operations. Base class is shared with <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegion.ReplayBatchOperation</code></a> as most
  of the logic is same.</div>
@@ -342,7 +342,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>nonceGroup</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3311">nonceGroup</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3312">nonceGroup</a></pre>
 </li>
 </ul>
 <a name="nonce">
@@ -351,7 +351,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>nonce</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3312">nonce</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3313">nonce</a></pre>
 </li>
 </ul>
 </li>
@@ -368,7 +368,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MutationBatchOperation</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3313">MutationBatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3314">MutationBatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                               <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;operations,
                               boolean&nbsp;atomic,
                               long&nbsp;nonceGroup,
@@ -389,7 +389,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutation</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3322">getMutation</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3323">getMutation</a>(int&nbsp;index)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutation-int-">getMutation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -402,7 +402,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceGroup</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3327">getNonceGroup</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3328">getNonceGroup</a>(int&nbsp;index)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonceGroup-int-">getNonceGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -415,7 +415,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonce</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3332">getNonce</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3333">getNonce</a>(int&nbsp;index)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonce-int-">getNonce</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -428,7 +428,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutationsForCoprocs</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3337">getMutationsForCoprocs</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3338">getMutationsForCoprocs</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutationsForCoprocs--">HRegion.BatchOperation</a></code></span></div>
 <div class="block">This method is potentially expensive and useful mostly for non-replay CP path.</div>
 <dl>
@@ -443,7 +443,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>isInReplay</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3342">isInReplay</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3343">isInReplay</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#isInReplay--">isInReplay</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -456,7 +456,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getOrigLogSeqNum</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3347">getOrigLogSeqNum</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3348">getOrigLogSeqNum</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getOrigLogSeqNum--">getOrigLogSeqNum</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -469,7 +469,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>startRegionOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3352">startRegionOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3353">startRegionOperation</a>()
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -485,7 +485,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3357">closeRegionOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3358">closeRegionOperation</a>()
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -501,7 +501,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPreparePut</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3362">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3363">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#checkAndPreparePut-org.apache.hadoop.hbase.client.Put-">HRegion.BatchOperation</a></code></span></div>
 <div class="block">Implement any Put request specific check and prepare logic here. Please refer to
@@ -520,7 +520,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPrepare</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3367">checkAndPrepare</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3368">checkAndPrepare</a>()
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#checkAndPrepare--">HRegion.BatchOperation</a></code></span></div>
 <div class="block">Validates each mutation and prepares a batch for write. If necessary (non-replay case), runs
@@ -542,7 +542,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareMiniBatchOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3412">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3413">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                        long&nbsp;timestamp,
                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;acquiredRowLocks)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -563,7 +563,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>buildWALEdits</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3448">buildWALEdits</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;
 &nbsp;miniBatchOp)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3449">buildWALEdits</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;
 &nbsp;miniBatchOp)
                                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#buildWALEdits-org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress-">HRegion.BatchOperation</a></code></span></div>
 <div class="block">Builds separate WALEdit per nonce by applying input mutations. If WALEdits from CP are
@@ -582,7 +582,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>writeMiniBatchOperationsToMemStore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3459">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3460">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                                                                     @Nullable
                                                                                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)
                                                                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -602,7 +602,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>completeMiniBatchOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3470">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3471">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                         <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#completeMiniBatchOperations-org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress-org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry-">HRegion.BatchOperation</a></code></span></div>
@@ -622,7 +622,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>doPostOpCleanupForMiniBatch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3482">doPostOpCleanupForMiniBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3483">doPostOpCleanupForMiniBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                         <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
                                         boolean&nbsp;success)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -640,7 +640,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>callPreMutateCPHook</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3529">callPreMutateCPHook</a>(int&nbsp;index,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3530">callPreMutateCPHook</a>(int&nbsp;index,
                                  <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
                                  int[]&nbsp;metrics)
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -659,7 +659,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMergeCPMutations</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3566">checkAndMergeCPMutations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3567">checkAndMergeCPMutations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;acquiredRowLocks,
                                       long&nbsp;timestamp)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -675,7 +675,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>mergeFamilyMaps</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3601">mergeFamilyMaps</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3602">mergeFamilyMaps</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;toBeMerged)</pre>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html
index 09bb059..e5ecd93 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.586">HRegion.ObservedExceptionsInBatch</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.587">HRegion.ObservedExceptionsInBatch</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">A class that tracks exceptions that have been observed in one batch. Not thread safe.</div>
 </li>
@@ -236,7 +236,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>wrongRegion</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.587">wrongRegion</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.588">wrongRegion</a></pre>
 </li>
 </ul>
 <a name="failedSanityCheck">
@@ -245,7 +245,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>failedSanityCheck</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.588">failedSanityCheck</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.589">failedSanityCheck</a></pre>
 </li>
 </ul>
 <a name="wrongFamily">
@@ -254,7 +254,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>wrongFamily</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.589">wrongFamily</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.590">wrongFamily</a></pre>
 </li>
 </ul>
 </li>
@@ -271,7 +271,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ObservedExceptionsInBatch</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.586">ObservedExceptionsInBatch</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.587">ObservedExceptionsInBatch</a>()</pre>
 </li>
 </ul>
 </li>
@@ -288,7 +288,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hasSeenWrongRegion</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.594">hasSeenWrongRegion</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.595">hasSeenWrongRegion</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>If a <a href="../../../../../org/apache/hadoop/hbase/regionserver/WrongRegionException.html" title="class in org.apache.hadoop.hbase.regionserver"><code>WrongRegionException</code></a> has been observed.</dd>
@@ -301,7 +301,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>sawWrongRegion</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.601">sawWrongRegion</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.602">sawWrongRegion</a>()</pre>
 <div class="block">Records that a <a href="../../../../../org/apache/hadoop/hbase/regionserver/WrongRegionException.html" title="class in org.apache.hadoop.hbase.regionserver"><code>WrongRegionException</code></a> has been observed.</div>
 </li>
 </ul>
@@ -311,7 +311,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hasSeenFailedSanityCheck</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.608">hasSeenFailedSanityCheck</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.609">hasSeenFailedSanityCheck</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>If a <a href="../../../../../org/apache/hadoop/hbase/exceptions/FailedSanityCheckException.html" title="class in org.apache.hadoop.hbase.exceptions"><code>FailedSanityCheckException</code></a> has been observed.</dd>
@@ -324,7 +324,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>sawFailedSanityCheck</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.615">sawFailedSanityCheck</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.616">sawFailedSanityCheck</a>()</pre>
 <div class="block">Records that a <a href="../../../../../org/apache/hadoop/hbase/exceptions/FailedSanityCheckException.html" title="class in org.apache.hadoop.hbase.exceptions"><code>FailedSanityCheckException</code></a> has been observed.</div>
 </li>
 </ul>
@@ -334,7 +334,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hasSeenNoSuchFamily</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.622">hasSeenNoSuchFamily</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.623">hasSeenNoSuchFamily</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>If a <a href="../../../../../org/apache/hadoop/hbase/regionserver/NoSuchColumnFamilyException.html" title="class in org.apache.hadoop.hbase.regionserver"><code>NoSuchColumnFamilyException</code></a> has been observed.</dd>
@@ -347,7 +347,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>sawNoSuchFamily</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.629">sawNoSuchFamily</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html#line.630">sawNoSuchFamily</a>()</pre>
 <div class="block">Records that a <a href="../../../../../org/apache/hadoop/hbase/regionserver/NoSuchColumnFamilyException.html" title="class in org.apache.hadoop.hbase.regionserver"><code>NoSuchColumnFamilyException</code></a> has been observed.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
index af78237..c1198f3 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.537">HRegion.PrepareFlushResult</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.538">HRegion.PrepareFlushResult</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">A result object from prepare flush cache stage</div>
 </li>
@@ -258,7 +258,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>result</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.538">result</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.539">result</a></pre>
 </li>
 </ul>
 <a name="storeFlushCtxs">
@@ -267,7 +267,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>storeFlushCtxs</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.539">storeFlushCtxs</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.540">storeFlushCtxs</a></pre>
 </li>
 </ul>
 <a name="committedFiles">
@@ -276,7 +276,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>committedFiles</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.540">committedFiles</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.541">committedFiles</a></pre>
 </li>
 </ul>
 <a name="storeFlushableSize">
@@ -285,7 +285,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>storeFlushableSize</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.541">storeFlushableSize</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.542">storeFlushableSize</a></pre>
 </li>
 </ul>
 <a name="startTime">
@@ -294,7 +294,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>startTime</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.542">startTime</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.543">startTime</a></pre>
 </li>
 </ul>
 <a name="flushOpSeqId">
@@ -303,7 +303,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>flushOpSeqId</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.543">flushOpSeqId</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.544">flushOpSeqId</a></pre>
 </li>
 </ul>
 <a name="flushedSeqId">
@@ -312,7 +312,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>flushedSeqId</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.544">flushedSeqId</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.545">flushedSeqId</a></pre>
 </li>
 </ul>
 <a name="totalFlushableSize">
@@ -321,7 +321,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>totalFlushableSize</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSizing.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSizing</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.545">totalFlushableSize</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSizing.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSizing</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.546">totalFlushableSize</a></pre>
 </li>
 </ul>
 </li>
@@ -338,7 +338,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>PrepareFlushResult</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.548">PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.549">PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;result,
                    long&nbsp;flushSeqId)</pre>
 <div class="block">Constructs an early exit case</div>
 </li>
@@ -349,7 +349,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>PrepareFlushResult</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.553">PrepareFlushResult</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt;&nbsp;storeFlushCtxs,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.554">PrepareFlushResult</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt;&nbsp;storeFlushCtxs,
                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;committedFiles,
                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&gt;&nbsp;storeFlushableSize,
                    long&nbsp;startTime,
@@ -365,7 +365,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PrepareFlushResult</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.562">PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;result,
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.563">PrepareFlushResult</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;result,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a>&gt;&nbsp;storeFlushCtxs,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;committedFiles,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&gt;&nbsp;storeFlushableSize,
@@ -389,7 +389,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getResult</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.578">getResult</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html#line.579">getResult</a>()</pre>
 </li>
 </ul>
 </li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
index c270b81..1a0fdfe 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.411">HRegion.WriteState</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.412">HRegion.WriteState</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -239,7 +239,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>flushing</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.413">flushing</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.414">flushing</a></pre>
 </li>
 </ul>
 <a name="flushRequested">
@@ -248,7 +248,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>flushRequested</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.415">flushRequested</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.416">flushRequested</a></pre>
 </li>
 </ul>
 <a name="compacting">
@@ -257,7 +257,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compacting</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.417">compacting</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.418">compacting</a></pre>
 </li>
 </ul>
 <a name="writesEnabled">
@@ -266,7 +266,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>writesEnabled</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.419">writesEnabled</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.420">writesEnabled</a></pre>
 </li>
 </ul>
 <a name="readOnly">
@@ -275,7 +275,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>readOnly</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.421">readOnly</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.422">readOnly</a></pre>
 </li>
 </ul>
 <a name="readsEnabled">
@@ -284,7 +284,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>readsEnabled</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.424">readsEnabled</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.425">readsEnabled</a></pre>
 </li>
 </ul>
 <a name="HEAP_SIZE">
@@ -293,7 +293,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HEAP_SIZE</h4>
-<pre>static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.448">HEAP_SIZE</a></pre>
+<pre>static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.449">HEAP_SIZE</a></pre>
 </li>
 </ul>
 </li>
@@ -310,7 +310,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WriteState</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.411">WriteState</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.412">WriteState</a>()</pre>
 </li>
 </ul>
 </li>
@@ -327,7 +327,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setReadOnly</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.431">setReadOnly</a>(boolean&nbsp;onOff)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.432">setReadOnly</a>(boolean&nbsp;onOff)</pre>
 <div class="block">Set flags that make this region read-only.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -341,7 +341,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isReadOnly</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.436">isReadOnly</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.437">isReadOnly</a>()</pre>
 </li>
 </ul>
 <a name="isFlushRequested--">
@@ -350,7 +350,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isFlushRequested</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.440">isFlushRequested</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.441">isFlushRequested</a>()</pre>
 </li>
 </ul>
 <a name="setReadsEnabled-boolean-">
@@ -359,7 +359,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setReadsEnabled</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.444">setReadsEnabled</a>(boolean&nbsp;readsEnabled)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html#line.445">setReadsEnabled</a>(boolean&nbsp;readsEnabled)</pre>
 </li>
 </ul>
 </li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/filter/class-use/ByteArrayComparable.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/class-use/ByteArrayComparable.html b/devapidocs/org/apache/hadoop/hbase/filter/class-use/ByteArrayComparable.html
index ba099ce..65bb39c 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/class-use/ByteArrayComparable.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/class-use/ByteArrayComparable.html
@@ -696,26 +696,24 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Region.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-boolean-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
+<td class="colLast"><span class="typeNameLabel">Region.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
                  byte[]&nbsp;family,
                  byte[]&nbsp;qualifier,
                  <a href="../../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                  <a href="../../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
-                 <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations,
-                 boolean&nbsp;writeToWAL)</code>
+                 <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)</code>
 <div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
  it performs the row mutations.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-boolean-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
                  byte[]&nbsp;family,
                  byte[]&nbsp;qualifier,
                  <a href="../../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                  <a href="../../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
-                 <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm,
-                 boolean&nbsp;writeToWAL)</code>&nbsp;</td>
+                 <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
@@ -734,14 +732,13 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-org.apache.hadoop.hbase.client.Mutation-boolean-">doCheckAndRowMutate</a></span>(byte[]&nbsp;row,
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-org.apache.hadoop.hbase.client.Mutation-">doCheckAndRowMutate</a></span>(byte[]&nbsp;row,
                    byte[]&nbsp;family,
                    byte[]&nbsp;qualifier,
                    <a href="../../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                    <a href="../../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                    <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rowMutations,
-                   <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
-                   boolean&nbsp;writeToWAL)</code>
+                   <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
 <div class="block">checkAndMutate and checkAndRowMutate are 90% the same.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 41235a7..cdfed4b 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -182,14 +182,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">BitComparator.BitwiseOp</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/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/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/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/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/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/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>
+<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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
index c6877be..a96fae8 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":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";
@@ -108,18 +108,13 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntryGroup</a>&gt;</dd>
-</dl>
-<dl>
 <dt>Enclosing class:</dt>
 <dd><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a></dd>
 </dl>
 <hr>
 <br>
 <pre>private class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1353">BucketCache.BucketEntryGroup</a>
-extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntryGroup</a>&gt;</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Used to group bucket entries into priority buckets. There will be a
  BucketEntryGroup for each priority (single, multi, memory). Once bucketed,
  the eviction algorithm takes the appropriate number of elements out of each
@@ -193,26 +188,14 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#add-java.util.Map.Entry-">add</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>,<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntry</a>&gt;&nbsp;block)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#compareTo-org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.BucketEntryGroup-">compareTo</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntryGroup</a>&nbsp;that)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#equals-java.lang.Object-">equals</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</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/io/hfile/bucket/BucketCache.BucketEntryGroup.html#free-long-">free</a></span>(long&nbsp;toFree)</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/io/hfile/bucket/BucketCache.BucketEntryGroup.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#overflow--">overflow</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<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/io/hfile/bucket/BucketCache.BucketEntryGroup.html#totalSize--">totalSize</a></span>()</code>&nbsp;</td>
 </tr>
@@ -222,7 +205,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="http://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="http://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="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.ht
 ml?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://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="http://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>
+<code><a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://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="http://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="http://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>
@@ -322,51 +305,12 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparabl
 <a name="totalSize--">
 <!--   -->
 </a>
-<ul class="blockList">
+<ul class="blockListLast">
 <li class="blockList">
 <h4>totalSize</h4>
 <pre>public&nbsp;long&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1390">totalSize</a>()</pre>
 </li>
 </ul>
-<a name="compareTo-org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.BucketEntryGroup-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1395">compareTo</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntryGroup</a>&nbsp;that)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntryGroup</a>&gt;</code></dd>
-</dl>
-</li>
-</ul>
-<a name="equals-java.lang.Object-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1400">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="hashCode--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#line.1413">hashCode</a>()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
-</dl>
-</li>
-</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html
index 8597434..41108d1 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1422">BucketCache.RAMQueueEntry</a>
+<pre>static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1399">BucketCache.RAMQueueEntry</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Block Entry stored in the memory with key,data and so on</div>
 </li>
@@ -232,7 +232,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>key</h4>
-<pre>private&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1423">key</a></pre>
+<pre>private&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1400">key</a></pre>
 </li>
 </ul>
 <a name="data">
@@ -241,7 +241,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>data</h4>
-<pre>private&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1424">data</a></pre>
+<pre>private&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1401">data</a></pre>
 </li>
 </ul>
 <a name="accessCounter">
@@ -250,7 +250,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>accessCounter</h4>
-<pre>private&nbsp;long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1425">accessCounter</a></pre>
+<pre>private&nbsp;long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1402">accessCounter</a></pre>
 </li>
 </ul>
 <a name="inMemory">
@@ -259,7 +259,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>inMemory</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1426">inMemory</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1403">inMemory</a></pre>
 </li>
 </ul>
 </li>
@@ -276,7 +276,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RAMQueueEntry</h4>
-<pre>public&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1428">RAMQueueEntry</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;bck,
+<pre>public&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1405">RAMQueueEntry</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;bck,
                      <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a>&nbsp;data,
                      long&nbsp;accessCounter,
                      boolean&nbsp;inMemory)</pre>
@@ -296,7 +296,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getData</h4>
-<pre>public&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1436">getData</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1413">getData</a>()</pre>
 </li>
 </ul>
 <a name="getKey--">
@@ -305,7 +305,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getKey</h4>
-<pre>public&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1440">getKey</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1417">getKey</a>()</pre>
 </li>
 </ul>
 <a name="access-long-">
@@ -314,7 +314,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>access</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1444">access</a>(long&nbsp;accessCounter)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1421">access</a>(long&nbsp;accessCounter)</pre>
 </li>
 </ul>
 <a name="writeToCache-org.apache.hadoop.hbase.io.hfile.bucket.IOEngine-org.apache.hadoop.hbase.io.hfile.bucket.BucketAllocator-org.apache.hadoop.hbase.io.hfile.bucket.UniqueIndexMap-java.util.concurrent.atomic.LongAdder-">
@@ -323,7 +323,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>writeToCache</h4>
-<pre>public&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntry</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1448">writeToCache</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">IOEngine</a>&nbsp;ioEngine,
+<pre>public&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntry</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html#line.1425">writeToCache</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">IOEngine</a>&nbsp;ioEngine,
                                             <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketAllocator</a>&nbsp;bucketAllocator,
                                             <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/UniqueIndexMap.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">UniqueIndexMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;deserialiserMap,
                                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a>&nbsp;realCacheSize)

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html
index ae5eeef..d397c2c 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.647">BucketCache.StatisticsThread</a>
+<pre>private static class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.646">BucketCache.StatisticsThread</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></pre>
 </li>
 </ul>
@@ -239,7 +239,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>bucketCache</h4>
-<pre>private final&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html#line.648">bucketCache</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html#line.647">bucketCache</a></pre>
 </li>
 </ul>
 </li>
@@ -256,7 +256,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>StatisticsThread</h4>
-<pre>public&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html#line.650">StatisticsThread</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a>&nbsp;bucketCache)</pre>
+<pre>public&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html#line.649">StatisticsThread</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache</a>&nbsp;bucketCache)</pre>
 </li>
 </ul>
 </li>
@@ -273,7 +273,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html#line.657">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html#line.656">run</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 b05cc00..c352c2f 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
@@ -271,555 +271,561 @@
 <span class="sourceLineNo">263</span>    return Flow.HAS_MORE_STATE;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>  }<a name="line.264"></a>
 <span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  @Override<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  protected void rollbackState(final MasterProcedureEnv env, final SplitTableRegionState state)<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      throws IOException, InterruptedException {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    if (isTraceEnabled()) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      LOG.trace(this + " rollback state=" + state);<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>    try {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      switch (state) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      case SPLIT_TABLE_REGION_POST_OPERATION:<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      case SPLIT_TABLE_REGION_OPEN_CHILD_REGIONS:<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      case SPLIT_TABLE_REGION_PRE_OPERATION_AFTER_META:<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      case SPLIT_TABLE_REGION_UPDATE_META:<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        // PONR<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      case SPLIT_TABLE_REGION_PRE_OPERATION_BEFORE_META:<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        break;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      case SPLIT_TABLE_REGION_CREATE_DAUGHTER_REGIONS:<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        // Doing nothing, as re-open parent region would clean up daughter region directories.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        break;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      case SPLIT_TABLE_REGION_CLOSE_PARENT_REGION:<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        openParentRegion(env);<a name="line.287"></a>
+<span class="sourceLineNo">266</span>  /**<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   * To rollback {@link SplitTableRegionProcedure}, an AssignProcedure is asynchronously<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * submitted for parent region to be split (rollback doesn't wait on the completion of the<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * AssignProcedure) . This can be improved by changing rollback() to support sub-procedures.<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * See HBASE-19851 for details.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  @Override<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  protected void rollbackState(final MasterProcedureEnv env, final SplitTableRegionState state)<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      throws IOException, InterruptedException {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    if (isTraceEnabled()) {<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      LOG.trace(this + " rollback state=" + state);<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>    try {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      switch (state) {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      case SPLIT_TABLE_REGION_POST_OPERATION:<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      case SPLIT_TABLE_REGION_OPEN_CHILD_REGIONS:<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      case SPLIT_TABLE_REGION_PRE_OPERATION_AFTER_META:<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      case SPLIT_TABLE_REGION_UPDATE_META:<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        // PONR<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      case SPLIT_TABLE_REGION_PRE_OPERATION_BEFORE_META:<a name="line.287"></a>
 <span class="sourceLineNo">288</span>        break;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      case SPLIT_TABLE_REGION_PRE_OPERATION:<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        postRollBackSplitRegion(env);<a name="line.290"></a>
+<span class="sourceLineNo">289</span>      case SPLIT_TABLE_REGION_CREATE_DAUGHTER_REGIONS:<a name="line.289"></a>
+<span class="sourceLineNo">290</span>        // Doing nothing, as re-open parent region would clean up daughter region directories.<a name="line.290"></a>
 <span class="sourceLineNo">291</span>        break;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      case SPLIT_TABLE_REGION_PREPARE:<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        break; // nothing to do<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      default:<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    } catch (IOException e) {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      // This will be retried. Unless there is a bug in the code,<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      // this should be just a "temporary error" (e.g. network down)<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      LOG.warn("pid=" + getProcId() + " failed rollback attempt step " + state +<a name="line.300"></a>
-<span class="sourceLineNo">301</span>          " for splitting the region "<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        + getParentRegion().getEncodedName() + " in table " + getTableName(), e);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      throw e;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  /*<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * Check whether we are in the state that can be rollback<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   */<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  @Override<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  protected boolean isRollbackSupported(final SplitTableRegionState state) {<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    switch (state) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      case SPLIT_TABLE_REGION_POST_OPERATION:<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      case SPLIT_TABLE_REGION_OPEN_CHILD_REGIONS:<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      case SPLIT_TABLE_REGION_PRE_OPERATION_AFTER_META:<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      case SPLIT_TABLE_REGION_UPDATE_META:<a name="line.316"></a>
-<span class="sourceLineNo">317</span>        // It is not safe to rollback if we reach to these states.<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        return false;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      default:<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        break;<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    }<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    return true;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>  @Override<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  protected SplitTableRegionState getState(final int stateId) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    return SplitTableRegionState.forNumber(stateId);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  @Override<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  protected int getStateId(final SplitTableRegionState state) {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    return state.getNumber();<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  protected SplitTableRegionState getInitialState() {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    return SplitTableRegionState.SPLIT_TABLE_REGION_PREPARE;<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  protected void serializeStateData(ProcedureStateSerializer serializer)<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      throws IOException {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    super.serializeStateData(serializer);<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>    final MasterProcedureProtos.SplitTableRegionStateData.Builder splitTableRegionMsg =<a name="line.345"></a>
-<span class="sourceLineNo">346</span>        MasterProcedureProtos.SplitTableRegionStateData.newBuilder()<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        .setUserInfo(MasterProcedureUtil.toProtoUserInfo(getUser()))<a name="line.347"></a>
-<span class="sourceLineNo">348</span>        .setParentRegionInfo(ProtobufUtil.toRegionInfo(getRegion()))<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        .addChildRegionInfo(ProtobufUtil.toRegionInfo(daughter_1_RI))<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        .addChildRegionInfo(ProtobufUtil.toRegionInfo(daughter_2_RI));<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    serializer.serialize(splitTableRegionMsg.build());<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  }<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  @Override<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  protected void deserializeStateData(ProcedureStateSerializer serializer)<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      throws IOException {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    super.deserializeStateData(serializer);<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>    final MasterProcedureProtos.SplitTableRegionStateData splitTableRegionsMsg =<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        serializer.deserialize(MasterProcedureProtos.SplitTableRegionStateData.class);<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    setUser(MasterProcedureUtil.toUserInfo(splitTableRegionsMsg.getUserInfo()));<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    setRegion(ProtobufUtil.toRegionInfo(splitTableRegionsMsg.getParentRegionInfo()));<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    assert(splitTableRegionsMsg.getChildRegionInfoCount() == 2);<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    daughter_1_RI = ProtobufUtil.toRegionInfo(splitTableRegionsMsg.getChildRegionInfo(0));<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    daughter_2_RI = ProtobufUtil.toRegionInfo(splitTableRegionsMsg.getChildRegionInfo(1));<a name="line.365"></a>
-<span class="sourceLineNo">366</span>  }<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>  @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    sb.append(getClass().getSimpleName());<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    sb.append(" table=");<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    sb.append(getTableName());<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    sb.append(", parent=");<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    sb.append(getParentRegion().getShortNameToLog());<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    sb.append(", daughterA=");<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    sb.append(daughter_1_RI.getShortNameToLog());<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    sb.append(", daughterB=");<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    sb.append(daughter_2_RI.getShortNameToLog());<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  }<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>  private RegionInfo getParentRegion() {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    return getRegion();<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>  @Override<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  public TableOperationType getTableOperationType() {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    return TableOperationType.REGION_SPLIT;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  }<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>  @Override<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  protected ProcedureMetrics getProcedureMetrics(MasterProcedureEnv env) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    return env.getAssignmentManager().getAssignmentManagerMetrics().getSplitProcMetrics();<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>  private byte[] getSplitRow() {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    return daughter_2_RI.getStartKey();<a name="line.396"></a>
-<span class="sourceLineNo">397</span>  }<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>  private static State [] EXPECTED_SPLIT_STATES = new State [] {State.OPEN, State.CLOSED};<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  /**<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * Prepare to Split region.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * @param env MasterProcedureEnv<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   * @throws IOException<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   */<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  @VisibleForTesting<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public boolean prepareSplitRegion(final MasterProcedureEnv env) throws IOException {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    // Check whether the region is splittable<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    RegionStateNode node =<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        env.getAssignmentManager().getRegionStates().getRegionStateNode(getParentRegion());<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>    if (node == null) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      throw new UnknownRegionException(getParentRegion().getRegionNameAsString());<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>    RegionInfo parentHRI = node.getRegionInfo();<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    // Lookup the parent HRI state from the AM, which has the latest updated info.<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    // Protect against the case where concurrent SPLIT requests came in and succeeded<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    // just before us.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    if (node.isInState(State.SPLIT)) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      LOG.info("Split of " + parentHRI + " skipped; state is already SPLIT");<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      return false;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    if (parentHRI.isSplit() || parentHRI.isOffline()) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      LOG.info("Split of " + parentHRI + " skipped because offline/split.");<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      return false;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    }<a name="line.426"></a>
-<span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>    // expected parent to be online or closed<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    if (!node.isInState(EXPECTED_SPLIT_STATES)) {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      // We may have SPLIT already?<a name="line.430"></a>
-<span class="sourceLineNo">431</span>      setFailure(new IOException("Split " + parentHRI.getRegionNameAsString() +<a name="line.431"></a>
-<span class="sourceLineNo">432</span>          " FAILED because state=" + node.getState() + "; expected " +<a name="line.432"></a>
-<span class="sourceLineNo">433</span>          Arrays.toString(EXPECTED_SPLIT_STATES)));<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      return false;<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>    // Since we have the lock and the master is coordinating the operation<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    // we are always able to split the region<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    if (!env.getMasterServices().isSplitOrMergeEnabled(MasterSwitchType.SPLIT)) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      LOG.warn("pid=" + getProcId() + " split switch is off! skip split of " + parentHRI);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      setFailure(new IOException("Split region " +<a name="line.441"></a>
-<span class="sourceLineNo">442</span>          (parentHRI == null? "null": parentHRI.getRegionNameAsString()) +<a name="line.442"></a>
-<span class="sourceLineNo">443</span>          " failed due to split switch off"));<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      return false;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>    // set node state as SPLITTING<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    node.setState(State.SPLITTING);<a name="line.448"></a>
-<span class="sourceLineNo">449</span><a name="line.449"></a>
-<span class="sourceLineNo">450</span>    return true;<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
+<span class="sourceLineNo">292</span>      case SPLIT_TABLE_REGION_CLOSE_PARENT_REGION:<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        openParentRegion(env);<a name="line.293"></a>
+<span class="sourceLineNo">294</span>        break;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      case SPLIT_TABLE_REGION_PRE_OPERATION:<a name="line.295"></a>
+<span class="sourceLineNo">296</span>        postRollBackSplitRegion(env);<a name="line.296"></a>
+<span class="sourceLineNo">297</span>        break;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>      case SPLIT_TABLE_REGION_PREPARE:<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        break; // nothing to do<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      default:<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      }<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    } catch (IOException e) {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      // This will be retried. Unless there is a bug in the code,<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      // this should be just a "temporary error" (e.g. network down)<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      LOG.warn("pid=" + getProcId() + " failed rollback attempt step " + state +<a name="line.306"></a>
+<span class="sourceLineNo">307</span>          " for splitting the region "<a name="line.307"></a>
+<span class="sourceLineNo">308</span>        + getParentRegion().getEncodedName() + " in table " + getTableName(), e);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      throw e;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    }<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  /*<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * Check whether we are in the state that can be rollback<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   */<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  protected boolean isRollbackSupported(final SplitTableRegionState state) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    switch (state) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      case SPLIT_TABLE_REGION_POST_OPERATION:<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      case SPLIT_TABLE_REGION_OPEN_CHILD_REGIONS:<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      case SPLIT_TABLE_REGION_PRE_OPERATION_AFTER_META:<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      case SPLIT_TABLE_REGION_UPDATE_META:<a name="line.322"></a>
+<span class="sourceLineNo">323</span>        // It is not safe to rollback if we reach to these states.<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        return false;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      default:<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        break;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    return true;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>  @Override<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  protected SplitTableRegionState getState(final int stateId) {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    return SplitTableRegionState.forNumber(stateId);<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  }<a name="line.334"></a>
+<span class="sourceLineNo">335</span><a name="line.335"></a>
+<span class="sourceLineNo">336</span>  @Override<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  protected int getStateId(final SplitTableRegionState state) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    return state.getNumber();<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>  @Override<a name="line.341"></a>
+<span class="sourceLineNo">342</span>  protected SplitTableRegionState getInitialState() {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    return SplitTableRegionState.SPLIT_TABLE_REGION_PREPARE;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>  }<a name="line.344"></a>
+<span class="sourceLineNo">345</span><a name="line.345"></a>
+<span class="sourceLineNo">346</span>  @Override<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  protected void serializeStateData(ProcedureStateSerializer serializer)<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      throws IOException {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    super.serializeStateData(serializer);<a name="line.349"></a>
+<span class="sourceLineNo">350</span><a name="line.350"></a>
+<span class="sourceLineNo">351</span>    final MasterProcedureProtos.SplitTableRegionStateData.Builder splitTableRegionMsg =<a name="line.351"></a>
+<span class="sourceLineNo">352</span>        MasterProcedureProtos.SplitTableRegionStateData.newBuilder()<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        .setUserInfo(MasterProcedureUtil.toProtoUserInfo(getUser()))<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        .setParentRegionInfo(ProtobufUtil.toRegionInfo(getRegion()))<a name="line.354"></a>
+<span class="sourceLineNo">355</span>        .addChildRegionInfo(ProtobufUtil.toRegionInfo(daughter_1_RI))<a name="line.355"></a>
+<span class="sourceLineNo">356</span>        .addChildRegionInfo(ProtobufUtil.toRegionInfo(daughter_2_RI));<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    serializer.serialize(splitTableRegionMsg.build());<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>  @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  protected void deserializeStateData(ProcedureStateSerializer serializer)<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      throws IOException {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    super.deserializeStateData(serializer);<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span>    final MasterProcedureProtos.SplitTableRegionStateData splitTableRegionsMsg =<a name="line.365"></a>
+<span class="sourceLineNo">366</span>        serializer.deserialize(MasterProcedureProtos.SplitTableRegionStateData.class);<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    setUser(MasterProcedureUtil.toUserInfo(splitTableRegionsMsg.getUserInfo()));<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    setRegion(ProtobufUtil.toRegionInfo(splitTableRegionsMsg.getParentRegionInfo()));<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    assert(splitTableRegionsMsg.getChildRegionInfoCount() == 2);<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    daughter_1_RI = ProtobufUtil.toRegionInfo(splitTableRegionsMsg.getChildRegionInfo(0));<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    daughter_2_RI = ProtobufUtil.toRegionInfo(splitTableRegionsMsg.getChildRegionInfo(1));<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  }<a name="line.372"></a>
+<span class="sourceLineNo">373</span><a name="line.373"></a>
+<span class="sourceLineNo">374</span>  @Override<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    sb.append(getClass().getSimpleName());<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    sb.append(" table=");<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    sb.append(getTableName());<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    sb.append(", parent=");<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    sb.append(getParentRegion().getShortNameToLog());<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    sb.append(", daughterA=");<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    sb.append(daughter_1_RI.getShortNameToLog());<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    sb.append(", daughterB=");<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    sb.append(daughter_2_RI.getShortNameToLog());<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>  private RegionInfo getParentRegion() {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    return getRegion();<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>  @Override<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  public TableOperationType getTableOperationType() {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    return TableOperationType.REGION_SPLIT;<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>  @Override<a name="line.396"></a>
+<span class="sourceLineNo">397</span>  protected ProcedureMetrics getProcedureMetrics(MasterProcedureEnv env) {<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    return env.getAssignmentManager().getAssignmentManagerMetrics().getSplitProcMetrics();<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  private byte[] getSplitRow() {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    return daughter_2_RI.getStartKey();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>  private static State [] EXPECTED_SPLIT_STATES = new State [] {State.OPEN, State.CLOSED};<a name="line.405"></a>
+<span class="sourceLineNo">406</span>  /**<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   * Prepare to Split region.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * @param env MasterProcedureEnv<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * @throws IOException<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   */<a name="line.410"></a>
+<span class="sourceLineNo">411</span>  @VisibleForTesting<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  public boolean prepareSplitRegion(final MasterProcedureEnv env) throws IOException {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    // Check whether the region is splittable<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    RegionStateNode node =<a name="line.414"></a>
+<span class="sourceLineNo">415</span>        env.getAssignmentManager().getRegionStates().getRegionStateNode(getParentRegion());<a name="line.415"></a>
+<span class="sourceLineNo">416</span><a name="line.416"></a>
+<span class="sourceLineNo">417</span>    if (node == null) {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      throw new UnknownRegionException(getParentRegion().getRegionNameAsString());<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
+<span class="sourceLineNo">420</span><a name="line.420"></a>
+<span class="sourceLineNo">421</span>    RegionInfo parentHRI = node.getRegionInfo();<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    // Lookup the parent HRI state from the AM, which has the latest updated info.<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    // Protect against the case where concurrent SPLIT requests came in and succeeded<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    // just before us.<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    if (node.isInState(State.SPLIT)) {<a name="line.425"></a>
+<span class="sourceLineNo">426</span>      LOG.info("Split of " + parentHRI + " skipped; state is already SPLIT");<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      return false;<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    }<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    if (parentHRI.isSplit() || parentHRI.isOffline()) {<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      LOG.info("Split of " + parentHRI + " skipped because offline/split.");<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      return false;<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    }<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>    // expected parent to be online or closed<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    if (!node.isInState(EXPECTED_SPLIT_STATES)) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      // We may have SPLIT already?<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      setFailure(new IOException("Split " + parentHRI.getRegionNameAsString() +<a name="line.437"></a>
+<span class="sourceLineNo">438</span>          " FAILED because state=" + node.getState() + "; expected " +<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          Arrays.toString(EXPECTED_SPLIT_STATES)));<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      return false;<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    }<a name="line.441"></a>
+<span class="sourceLineNo">442</span><a name="line.442"></a>
+<span class="sourceLineNo">443</span>    // Since we have the lock and the master is coordinating the operation<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    // we are always able to split the region<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    if (!env.getMasterServices().isSplitOrMergeEnabled(MasterSwitchType.SPLIT)) {<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      LOG.warn("pid=" + getProcId() + " split switch is off! skip split of " + parentHRI);<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      setFailure(new IOException("Split region " +<a name="line.447"></a>
+<span class="sourceLineNo">448</span>          (parentHRI == null? "null": parentHRI.getRegionNameAsString()) +<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          " failed due to split switch off"));<a name="line.449"></a>
+<span class="sourceLineNo">450</span>      return false;<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    }<a name="line.451"></a>
 <span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * Action before splitting region in a table.<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   * @param env MasterProcedureEnv<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   * @throws IOException<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * @throws InterruptedException<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   */<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  private void preSplitRegion(final MasterProcedureEnv env)<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      throws IOException, InterruptedException {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    if (cpHost != null) {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      cpHost.preSplitRegionAction(getTableName(), getSplitRow(), getUser());<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>    // TODO: Clean up split and merge. Currently all over the place.<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    // Notify QuotaManager and RegionNormalizer<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    try {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      env.getMasterServices().getMasterQuotaManager().onRegionSplit(this.getParentRegion());<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    } catch (QuotaExceededException e) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      env.getAssignmentManager().getRegionNormalizer().planSkipped(this.getParentRegion(),<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          NormalizationPlan.PlanType.SPLIT);<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      throw e;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    }<a name="line.474"></a>
-<span class="sourceLineNo">475</span>  }<a name="line.475"></a>
-<span class="sourceLineNo">476</span><a name="line.476"></a>
-<span class="sourceLineNo">477</span>  /**<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * Action after rollback a split table region action.<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * @param env MasterProcedureEnv<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @throws IOException<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   */<a name="line.481"></a>
-<span class="sourceLineNo">482</span>  private void postRollBackSplitRegion(final MasterProcedureEnv env) throws IOException {<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    if (cpHost != null) {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      cpHost.postRollBackSplitRegionAction(getUser());<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    }<a name="line.486"></a>
-<span class="sourceLineNo">487</span>  }<a name="line.487"></a>
-<span class="sourceLineNo">488</span><a name="line.488"></a>
-<span class="sourceLineNo">489</span>  /**<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   * Rollback close parent region<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   * @param env MasterProcedureEnv<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   **/<a name="line.492"></a>
-<span class="sourceLineNo">493</span>  private void openParentRegion(final MasterProcedureEnv env) throws IOException {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    // Check whether the region is closed; if so, open it in the same server<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    final int regionReplication = getRegionReplication(env);<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    final ServerName serverName = getParentRegionServerName(env);<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    final AssignProcedure[] procs = new AssignProcedure[regionReplication];<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    for (int i = 0; i &lt; regionReplication; ++i) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      final RegionInfo hri = RegionReplicaUtil.getRegionInfoForReplica(getParentRegion(), i);<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      procs[i] = env.getAssignmentManager().createAssignProcedure(hri, serverName);<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    }<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    env.getMasterServices().getMasterProcedureExecutor().submitProcedures(procs);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>  }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>  /**<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   * Create daughter regions<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   * @param env MasterProcedureEnv<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   * @throws IOException<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   */<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  @VisibleForTesting<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  public void createDaughterRegions(final MasterProcedureEnv env) throws IOException {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    final MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    final Path tabledir = FSUtils.getTableDir(mfs.getRootDir(), getTableName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    final FileSystem fs = mfs.getFileSystem();<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    HRegionFileSystem regionFs = HRegionFileSystem.openRegionFromFileSystem(<a name="line.516"></a>
-<span class="sourceLineNo">517</span>      env.getMasterConfiguration(), fs, tabledir, getParentRegion(), false);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    regionFs.createSplitsDir();<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>    Pair&lt;Integer, Integer&gt; expectedReferences = splitStoreFiles(env, regionFs);<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span>    assertReferenceFileCount(fs, expectedReferences.getFirst(),<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      regionFs.getSplitsDir(daughter_1_RI));<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    //Move the files from the temporary .splits to the final /table/region directory<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    regionFs.commitDaughterRegion(daughter_1_RI);<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    assertReferenceFileCount(fs, expectedReferences.getFirst(),<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      new Path(tabledir, daughter_1_RI.getEncodedName()));<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    assertReferenceFileCount(fs, expectedReferences.getSecond(),<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      regionFs.getSplitsDir(daughter_2_RI));<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    regionFs.commitDaughterRegion(daughter_2_RI);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    assertReferenceFileCount(fs, expectedReferences.getSecond(),<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      new Path(tabledir, daughter_2_RI.getEncodedName()));<a name="line.533"></a>
-<span class="sourceLineNo">534</span>  }<a name="line.534"></a>
-<span class="sourceLineNo">535</span><a name="line.535"></a>
-<span class="sourceLineNo">536</span>  /**<a name="line.536"></a>
-<span class="sourceLineNo">537</span>   * Create Split directory<a name="line.537"></a>
-<span class="sourceLineNo">538</span>   * @param env MasterProcedureEnv<a name="line.538"></a>
-<span class="sourceLineNo">539</span>   * @throws IOException<a name="line.539"></a>
-<span class="sourceLineNo">540</span>   */<a name="line.540"></a>
-<span class="sourceLineNo">541</span>  private Pair&lt;Integer, Integer&gt; splitStoreFiles(final MasterProcedureEnv env,<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      final HRegionFileSystem regionFs) throws IOException {<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    final MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    final Configuration conf = env.getMasterConfiguration();<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    // The following code sets up a thread pool executor with as many slots as<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    // there's files to split. It then fires up everything, waits for<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    // completion and finally checks for any exception<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    //<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    // Note: splitStoreFiles creates daughter region dirs under the parent splits dir<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    // Nothing to unroll here if failure -- re-run createSplitsDir will<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    // clean this up.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    int nbFiles = 0;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    final Map&lt;String, Collection&lt;StoreFileInfo&gt;&gt; files =<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      new HashMap&lt;String, Collection&lt;StoreFileInfo&gt;&gt;(regionFs.getFamilies().size());<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    for (String family: regionFs.getFamilies()) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      Collection&lt;StoreFileInfo&gt; sfis = regionFs.getStoreFiles(family);<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      if (sfis == null) continue;<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      Collection&lt;StoreFileInfo&gt; filteredSfis = null;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>      for (StoreFileInfo sfi: sfis) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>        // Filter. There is a lag cleaning up compacted reference files. They get cleared<a name="line.560"></a>
-<span class="sourceLineNo">561</span>        // after a delay in case outstanding Scanners still have references. Because of this,<a name="line.561"></a>
-<span class="sourceLineNo">562</span>        // the listing of the Store content may have straggler reference files. Skip these.<a name="line.562"></a>
-<span class="sourceLineNo">563</span>        // It should be safe to skip references at this point because we checked above with<a name="line.563"></a>
-<span class="sourceLineNo">564</span>        // the region if it thinks it is splittable and if we are here, it thinks it is<a name="line.564"></a>
-<span class="sourceLineNo">565</span>        // splitable.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        if (sfi.isReference()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>          LOG.info("Skipping split of " + sfi + "; presuming ready for archiving.");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>          continue;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>        }<a name="line.569"></a>
-<span class="sourceLineNo">570</span>        if (filteredSfis == null) {<a name="line.570"></a>
-<span class="sourceLineNo">571</span>          filteredSfis = new ArrayList&lt;StoreFileInfo&gt;(sfis.size());<a name="line.571"></a>
-<span class="sourceLineNo">572</span>          files.put(family, filteredSfis);<a name="line.572"></a>
-<span class="sourceLineNo">573</span>        }<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        filteredSfis.add(sfi);<a name="line.574"></a>
-<span class="sourceLineNo">575</span>        nbFiles++;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      }<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    }<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    if (nbFiles == 0) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      // no file needs to be splitted.<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      return new Pair&lt;Integer, Integer&gt;(0,0);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    // Max #threads is the smaller of the number of storefiles or the default max determined above.<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    int maxThreads = Math.min(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      conf.getInt(HConstants.REGION_SPLIT_THREADS_MAX,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        conf.getInt(HStore.BLOCKING_STOREFILES_KEY, HStore.DEFAULT_BLOCKING_STOREFILE_COUNT)),<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      nbFiles);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    LOG.info("pid=" + getProcId() + " splitting " + nbFiles + " storefiles, region=" +<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      getParentRegion().getShortNameToLog() + ", threads=" + maxThreads);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    final ExecutorService threadPool = Executors.newFixedThreadPool(<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      maxThreads, Threads.getNamedThreadFactory("StoreFileSplitter-%1$d"));<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    final List&lt;Future&lt;Pair&lt;Path,Path&gt;&gt;&gt; futures = new ArrayList&lt;Future&lt;Pair&lt;Path,Path&gt;&gt;&gt;(nbFiles);<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>    // Split each store file.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    final TableDescriptor htd = env.getMasterServices().getTableDescriptors().get(getTableName());<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    for (Map.Entry&lt;String, Collection&lt;StoreFileInfo&gt;&gt;e: files.entrySet()) {<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      byte [] familyName = Bytes.toBytes(e.getKey());<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      final ColumnFamilyDescriptor hcd = htd.getColumnFamily(familyName);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      final Collection&lt;StoreFileInfo&gt; storeFiles = e.getValue();<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      if (storeFiles != null &amp;&amp; storeFiles.size() &gt; 0) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>        final CacheConfig cacheConf = new CacheConfig(conf, hcd);<a name="line.600"></a>
-<span class="sourceLineNo">601</span>        for (StoreFileInfo storeFileInfo: storeFiles) {<a name="line.601"></a>
-<span class="sourceLineNo">602</span>          StoreFileSplitter sfs =<a name="line.602"></a>
-<span class="sourceLineNo">603</span>              new StoreFileSplitter(regionFs, familyName, new HStoreFile(mfs.getFileSystem(),<a name="line.603"></a>
-<span class="sourceLineNo">604</span>                  storeFileInfo, conf, cacheConf, hcd.getBloomFilterType(), true));<a name="line.604"></a>
-<span class="sourceLineNo">605</span>          futures.add(threadPool.submit(sfs));<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>    // Shutdown the pool<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    threadPool.shutdown();<a name="line.610"></a>
-<span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>    // Wait for all the tasks to finish.<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    // When splits ran on the RegionServer, how-long-to-wait-configuration was named<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    // hbase.regionserver.fileSplitTimeout. If set, use its value.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    long fileSplitTimeout = conf.getLong("hbase.master.fileSplitTimeout",<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        conf.getLong("hbase.regionserver.fileSplitTimeout", 600000));<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    try {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      boolean stillRunning = !threadPool.awaitTermination(fileSplitTimeout, TimeUnit.MILLISECONDS);<a name="line.618"></a>
-<span class="sourceLineNo">619</span>      if (stillRunning) {<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        threadPool.shutdownNow();<a name="line.620"></a>
-<span class="sourceLineNo">621</span>        // wait for the thread to shutdown completely.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>        while (!threadPool.isTerminated()) {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>          Thread.sleep(50);<a name="line.623"></a>
-<span class="sourceLineNo">624</span>        }<a name="line.624"></a>
-<span class="sourceLineNo">625</span>        throw new IOException("Took too long to split the" +<a name="line.625"></a>
-<span class="sourceLineNo">626</span>            " files and create the references, aborting split");<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      }<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    } catch (InterruptedException e) {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>      throw (InterruptedIOException)new InterruptedIOException().initCause(e);<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>    int daughterA = 0;<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    int daughterB = 0;<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    // Look for any exception<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    for (Future&lt;Pair&lt;Path, Path&gt;&gt; future : futures) {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      try {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>        Pair&lt;Path, Path&gt; p = future.get();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>        daughterA += p.getFirst() != null ? 1 : 0;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>        daughterB += p.getSecond() != null ? 1 : 0;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      } catch (InterruptedException e) {<a name="line.640"></a>
-<span class="sourceLineNo">641</span>        throw (InterruptedIOException) new InterruptedIOException().initCause(e);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      } catch (ExecutionException e) {<a name="line.642"></a>
-<span class="sourceLineNo">643</span>        throw new IOException(e);<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>    if (LOG.isDebugEnabled()) {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      LOG.debug("pid=" + getProcId() + " split storefiles for region " +<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        getParentRegion().getShortNameToLog() +<a name="line.649"></a>
-<span class="sourceLineNo">650</span>          " Daughter A: " + daughterA + " storefiles, Daughter B: " +<a name="line.650"></a>
-<span class="sourceLineNo">651</span>          daughterB + " storefiles.");<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    }<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    return new Pair&lt;Integer, Integer&gt;(daughterA, daughterB);<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>  private void assertReferenceFileCount(final FileSystem fs, final int expectedReferenceFileCount,<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      final Path dir) throws IOException {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    if (expectedReferenceFileCount != 0 &amp;&amp;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>        expectedReferenceFileCount != FSUtils.getRegionReferenceFileCount(fs, dir)) {<a name="line.659"></a>
-<span class="sourceLineNo">660</span>      throw new IOException("Failing split. Expected reference file count isn't equal.");<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>  private Pair&lt;Path, Path&gt; splitStoreFile(HRegionFileSystem regionFs, byte[] family, HStoreFile sf)<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      throws IOException {<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    if (LOG.isDebugEnabled()) {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      LOG.debug("pid=" + getProcId() + " splitting started for store file: " +<a name="line.667"></a>
-<span class="sourceLineNo">668</span>          sf.getPath() + " for region: " + getParentRegion().getShortNameToLog());<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    }<a name="line.669"></a>
-<span class="sourceLineNo">670</span><a name="line.670"></a>
-<span class="sourceLineNo">671</span>    final byte[] splitRow = getSplitRow();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    final String familyName = Bytes.toString(family);<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    final Path path_first =<a name="line.673"></a>
-<span class="sourceLineNo">674</span>        regionFs.splitStoreFile(this.daughter_1_RI, familyName, sf, splitRow, false, null);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    final Path path_second =<a name="line.675"></a>
-<span class="sourceLineNo">676</span>        regionFs.splitStoreFile(this.daughter_2_RI, familyName, sf, splitRow, true, null);<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    if (LOG.isDebugEnabled()) {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      LOG.debug("pid=" + getProcId() + " splitting complete for store file: " +<a name="line.678"></a>
-<span class="sourceLineNo">679</span>          sf.getPath() + " for region: " + getParentRegion().getShortNameToLog());<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    }<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    return new Pair&lt;Path,Path&gt;(path_first, path_second);<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>  /**<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   * Utility class used to do the file splitting / reference writing<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   * in parallel instead of sequentially.<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   */<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  private class StoreFileSplitter implements Callable&lt;Pair&lt;Path,Path&gt;&gt; {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    private final HRegionFileSystem regionFs;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    private final byte[] family;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    private final HStoreFile sf;<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>     * Constructor that takes what it needs to split<a name="line.694"></a>
-<span class="sourceLineNo">695</span>     * @param regionFs the file system<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * @param family Family that contains the store file<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * @param sf which file<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     */<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    public StoreFileSplitter(HRegionFileSystem regionFs, byte[] family, HStoreFile sf) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.regionFs = regionFs;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.sf = sf;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.family = family;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    }<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>    @Override<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    public Pair&lt;Path,Path&gt; call() throws IOException {<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      return splitStoreFile(regionFs, family, sf);<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    }<a name="line.708"></a>
-<span class="sourceLineNo">709</span>  }<a name="line.709"></a>
+<span class="sourceLineNo">453</span>    // set node state as SPLITTING<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    node.setState(State.SPLITTING);<a name="line.454"></a>
+<span class="sourceLineNo">455</span><a name="line.455"></a>
+<span class="sourceLineNo">456</span>    return true;<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>   * Action before splitting region in a table.<a name="line.460"></a>
+<span class="sourceLineNo">461</span>   * @param env MasterProcedureEnv<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   * @throws IOException<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   * @throws InterruptedException<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   */<a name="line.464"></a>
+<span class="sourceLineNo">465</span>  private void preSplitRegion(final MasterProcedureEnv env)<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      throws IOException, InterruptedException {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    if (cpHost != null) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      cpHost.preSplitRegionAction(getTableName(), getSplitRow(), getUser());<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>    // TODO: Clean up split and merge. Currently all over the place.<a name="line.472"></a>
+<span class="sourceLineNo">473</span>    // Notify QuotaManager and RegionNormalizer<a name="line.473"></a>
+<span class="sourceLineNo">474</span>    try {<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      env.getMasterServices().getMasterQuotaManager().onRegionSplit(this.getParentRegion());<a name="line.475"></a>
+<span class="sourceLineNo">476</span>    } catch (QuotaExceededException e) {<a name="line.476"></a>
+<span class="sourceLineNo">477</span>      env.getAssignmentManager().getRegionNormalizer().planSkipped(this.getParentRegion(),<a name="line.477"></a>
+<span class="sourceLineNo">478</span>          NormalizationPlan.PlanType.SPLIT);<a name="line.478"></a>
+<span class="sourceLineNo">479</span>      throw e;<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    }<a name="line.480"></a>
+<span class="sourceLineNo">481</span>  }<a name="line.481"></a>
+<span class="sourceLineNo">482</span><a name="line.482"></a>
+<span class="sourceLineNo">483</span>  /**<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   * Action after rollback a split table region action.<a name="line.484"></a>
+<span class="sourceLineNo">485</span>   * @param env MasterProcedureEnv<a name="line.485"></a>
+<span class="sourceLineNo">486</span>   * @throws IOException<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   */<a name="line.487"></a>
+<span class="sourceLineNo">488</span>  private void postRollBackSplitRegion(final MasterProcedureEnv env) throws IOException {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    if (cpHost != null) {<a name="line.490"></a>
+<span class="sourceLineNo">491</span>      cpHost.postRollBackSplitRegionAction(getUser());<a name="line.491"></a>
+<span class="sourceLineNo">492</span>    }<a name="line.492"></a>
+<span class="sourceLineNo">493</span>  }<a name="line.493"></a>
+<span class="sourceLineNo">494</span><a name="line.494"></a>
+<span class="sourceLineNo">495</span>  /**<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   * Rollback close parent region<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * @param env MasterProcedureEnv<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   **/<a name="line.498"></a>
+<span class="sourceLineNo">499</span>  private void openParentRegion(final MasterProcedureEnv env) throws IOException {<a name="line.499"></a>
+<span class="sourceLineNo">500</span>    // Check whether the region is closed; if so, open it in the same server<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    final int regionReplication = getRegionReplication(env);<a name="line.501"></a>
+<span class="sourceLineNo">502</span>    final ServerName serverName = getParentRegionServerName(env);<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span>    final AssignProcedure[] procs = new AssignProcedure[regionReplication];<a name="line.504"></a>
+<span class="sourceLineNo">505</span>    for (int i = 0; i &lt; regionReplication; ++i) {<a name="line.505"></a>
+<span class="sourceLineNo">506</span>      final RegionInfo hri = RegionReplicaUtil.getRegionInfoForReplica(getParentRegion(), i);<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      procs[i] = env.getAssignmentManager().createAssignProcedure(hri, serverName);<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    env.getMasterServices().getMasterProcedureExecutor().submitProcedures(procs);<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>  /**<a name="line.512"></a>
+<span class="sourceLineNo">513</span>   * Create daughter regions<a name="line.513"></a>
+<span class="sourceLineNo">514</span>   * @param env MasterProcedureEnv<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   * @throws IOException<a name="line.515"></a>
+<span class="sourceLineNo">516</span>   */<a name="line.516"></a>
+<span class="sourceLineNo">517</span>  @VisibleForTesting<a name="line.517"></a>
+<span class="sourceLineNo">518</span>  public void createDaughterRegions(final MasterProcedureEnv env) throws IOException {<a name="line.518"></a>
+<span class="sourceLineNo">519</span>    final MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.519"></a>
+<span class="sourceLineNo">520</span>    final Path tabledir = FSUtils.getTableDir(mfs.getRootDir(), getTableName());<a name="line.520"></a>
+<span class="sourceLineNo">521</span>    final FileSystem fs = mfs.getFileSystem();<a name="line.521"></a>
+<span class="sourceLineNo">522</span>    HRegionFileSystem regionFs = HRegionFileSystem.openRegionFromFileSystem(<a name="line.522"></a>
+<span class="sourceLineNo">523</span>      env.getMasterConfiguration(), fs, tabledir, getParentRegion(), false);<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    regionFs.createSplitsDir();<a name="line.524"></a>
+<span class="sourceLineNo">525</span><a name="line.525"></a>
+<span class="sourceLineNo">526</span>    Pair&lt;Integer, Integer&gt; expectedReferences = splitStoreFiles(env, regionFs);<a name="line.526"></a>
+<span class="sourceLineNo">527</span><a name="line.527"></a>
+<span class="sourceLineNo">528</span>    assertReferenceFileCount(fs, expectedReferences.getFirst(),<a name="line.528"></a>
+<span class="sourceLineNo">529</span>      regionFs.getSplitsDir(daughter_1_RI));<a name="line.529"></a>
+<span class="sourceLineNo">530</span>    //Move the files from the temporary .splits to the final /table/region directory<a name="line.530"></a>
+<span class="sourceLineNo">531</span>    regionFs.commitDaughterRegion(daughter_1_RI);<a name="line.531"></a>
+<span class="sourceLineNo">532</span>    assertReferenceFileCount(fs, expectedReferences.getFirst(),<a name="line.532"></a>
+<span class="sourceLineNo">533</span>      new Path(tabledir, daughter_1_RI.getEncodedName()));<a name="line.533"></a>
+<span class="sourceLineNo">534</span><a name="line.534"></a>
+<span class="sourceLineNo">535</span>    assertReferenceFileCount(fs, expectedReferences.getSecond(),<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      regionFs.getSplitsDir(daughter_2_RI));<a name="line.536"></a>
+<span class="sourceLineNo">537</span>    regionFs.commitDaughterRegion(daughter_2_RI);<a name="line.537"></a>
+<span class="sourceLineNo">538</span>    assertReferenceFileCount(fs, expectedReferences.getSecond(),<a name="line.538"></a>
+<span class="sourceLineNo">539</span>      new Path(tabledir, daughter_2_RI.getEncodedName()));<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>  /**<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   * Create Split directory<a name="line.543"></a>
+<span class="sourceLineNo">544</span>   * @param env MasterProcedureEnv<a name="line.544"></a>
+<span class="sourceLineNo">545</span>   * @throws IOException<a name="line.545"></a>
+<span class="sourceLineNo">546</span>   */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  private Pair&lt;Integer, Integer&gt; splitStoreFiles(final MasterProcedureEnv env,<a name="line.547"></a>
+<span class="sourceLineNo">548</span>      final HRegionFileSystem regionFs) throws IOException {<a name="line.548"></a>
+<span class="sourceLineNo">549</span>    final MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    final Configuration conf = env.getMasterConfiguration();<a name="line.550"></a>
+<span class="sourceLineNo">551</span>    // The following code sets up a thread pool executor with as many slots as<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    // there's files to split. It then fires up everything, waits for<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    // completion and finally checks for any exception<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    //<a name="line.554"></a>
+<span class="sourceLineNo">555</span>    // Note: splitStoreFiles creates daughter region dirs under the parent splits dir<a name="line.555"></a>
+<span class="sourceLineNo">556</span>    // Nothing to unroll here if failure -- re-run createSplitsDir will<a name="line.556"></a>
+<span class="sourceLineNo">557</span>    // clean this up.<a name="line.557"></a>
+<span class="sourceLineNo">558</span>    int nbFiles = 0;<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    final Map&lt;String, Collection&lt;StoreFileInfo&gt;&gt; files =<a name="line.559"></a>
+<span class="sourceLineNo">560</span>      new HashMap&lt;String, Collection&lt;StoreFileInfo&gt;&gt;(regionFs.getFamilies().size());<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    for (String family: regionFs.getFamilies()) {<a name="line.561"></a>
+<span class="sourceLineNo">562</span>      Collection&lt;StoreFileInfo&gt; sfis = regionFs.getStoreFiles(family);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>      if (sfis == null) continue;<a name="line.563"></a>
+<span class="sourceLineNo">564</span>      Collection&lt;StoreFileInfo&gt; filteredSfis = null;<a name="line.564"></a>
+<span class="sourceLineNo">565</span>      for (StoreFileInfo sfi: sfis) {<a name="line.565"></a>
+<span class="sourceLineNo">566</span>        // Filter. There is a lag cleaning up compacted reference files. They get cleared<a name="line.566"></a>
+<span class="sourceLineNo">567</span>        // after a delay in case outstanding Scanners still have references. Because of this,<a name="line.567"></a>
+<span class="sourceLineNo">568</span>        // the listing of the Store content may have straggler reference files. Skip these.<a name="line.568"></a>
+<span class="sourceLineNo">569</span>        // It should be safe to skip references at this point because we checked above with<a name="line.569"></a>
+<span class="sourceLineNo">570</span>        // the region if it thinks it is splittable and if we are here, it thinks it is<a name="line.570"></a>
+<span class="sourceLineNo">571</span>        // splitable.<a name="line.571"></a>
+<span class="sourceLineNo">572</span>        if (sfi.isReference()) {<a name="line.572"></a>
+<span class="sourceLineNo">573</span>          LOG.info("Skipping split of " + sfi + "; presuming ready for archiving.");<a name="line.573"></a>
+<span class="sourceLineNo">574</span>          continue;<a name="line.574"></a>
+<span class="sourceLineNo">575</span>        }<a name="line.575"></a>
+<span class="sourceLineNo">576</span>        if (filteredSfis == null) {<a name="line.576"></a>
+<span class="sourceLineNo">577</span>          filteredSfis = new ArrayList&lt;StoreFileInfo&gt;(sfis.size());<a name="line.577"></a>
+<span class="sourceLineNo">578</span>          files.put(family, filteredSfis);<a name="line.578"></a>
+<span class="sourceLineNo">579</span>        }<a name="line.579"></a>
+<span class="sourceLineNo">580</span>        filteredSfis.add(sfi);<a name="line.580"></a>
+<span class="sourceLineNo">581</span>        nbFiles++;<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>    if (nbFiles == 0) {<a name="line.584"></a>
+<span class="sourceLineNo">585</span>      // no file needs to be splitted.<a name="line.585"></a>
+<span class="sourceLineNo">586</span>      return new Pair&lt;Integer, Integer&gt;(0,0);<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    }<a name="line.587"></a>
+<span class="sourceLineNo">588</span>    // Max #threads is the smaller of the number of storefiles or the default max determined above.<a name="line.588"></a>
+<span class="sourceLineNo">589</span>    int maxThreads = Math.min(<a name="line.589"></a>
+<span class="sourceLineNo">590</span>      conf.getInt(HConstants.REGION_SPLIT_THREADS_MAX,<a name="line.590"></a>
+<span class="sourceLineNo">591</span>        conf.getInt(HStore.BLOCKING_STOREFILES_KEY, HStore.DEFAULT_BLOCKING_STOREFILE_COUNT)),<a name="line.591"></a>
+<span class="sourceLineNo">592</span>      nbFiles);<a name="line.592"></a>
+<span class="sourceLineNo">593</span>    LOG.info("pid=" + getProcId() + " splitting " + nbFiles + " storefiles, region=" +<a name="line.593"></a>
+<span class="sourceLineNo">594</span>      getParentRegion().getShortNameToLog() + ", threads=" + maxThreads);<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    final ExecutorService threadPool = Executors.newFixedThreadPool(<a name="line.595"></a>
+<span class="sourceLineNo">596</span>      maxThreads, Threads.getNamedThreadFactory("StoreFileSplitter-%1$d"));<a name="line.596"></a>
+<span class="sourceLineNo">597</span>    final List&lt;Future&lt;Pair&lt;Path,Path&gt;&gt;&gt; futures = new ArrayList&lt;Future&lt;Pair&lt;Path,Path&gt;&gt;&gt;(nbFiles);<a name="line.597"></a>
+<span class="sourceLineNo">598</span><a name="line.598"></a>
+<span class="sourceLineNo">599</span>    // Split each store file.<a name="line.599"></a>
+<span class="sourceLineNo">600</span>    final TableDescriptor htd = env.getMasterServices().getTableDescriptors().get(getTableName());<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    for (Map.Entry&lt;String, Collection&lt;StoreFileInfo&gt;&gt;e: files.entrySet()) {<a name="line.601"></a>
+<span class="sourceLineNo">602</span>      byte [] familyName = Bytes.toBytes(e.getKey());<a name="line.602"></a>
+<span class="sourceLineNo">603</span>      final ColumnFamilyDescriptor hcd = htd.getColumnFamily(familyName);<a name="line.603"></a>
+<span class="sourceLineNo">604</span>      final Collection&lt;StoreFileInfo&gt; storeFiles = e.getValue();<a name="line.604"></a>
+<span class="sourceLineNo">605</span>      if (storeFiles != null &amp;&amp; storeFiles.size() &gt; 0) {<a name="line.605"></a>
+<span class="sourceLineNo">606</span>        final CacheConfig cacheConf = new CacheConfig(conf, hcd);<a name="line.606"></a>
+<span class="sourceLineNo">607</span>        for (StoreFileInfo storeFileInfo: storeFiles) {<a name="line.607"></a>
+<span class="sourceLineNo">608</span>          StoreFileSplitter sfs =<a name="line.608"></a>
+<span class="sourceLineNo">609</span>              new StoreFileSplitter(regionFs, familyName, new HStoreFile(mfs.getFileSystem(),<a name="line.609"></a>
+<span class="sourceLineNo">610</span>                  storeFileInfo, conf, cacheConf, hcd.getBloomFilterType(), true));<a name="line.610"></a>
+<span class="sourceLineNo">611</span>          futures.add(threadPool.submit(sfs));<a name="line.611"></a>
+<span class="sourceLineNo">612</span>        }<a name="line.612"></a>
+<span class="sourceLineNo">613</span>      }<a name="line.613"></a>
+<span class="sourceLineNo">614</span>    }<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    // Shutdown the pool<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    threadPool.shutdown();<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span>    // Wait for all the tasks to finish.<a name="line.618"></a>
+<span class="sourceLineNo">619</span>    // When splits ran on the RegionServer, how-long-to-wait-configuration was named<a name="line.619"></a>
+<span class="sourceLineNo">620</span>    // hbase.regionserver.fileSplitTimeout. If set, use its value.<a name="line.620"></a>
+<span class="sourceLineNo">621</span>    long fileSplitTimeout = conf.getLong("hbase.master.fileSplitTimeout",<a name="line.621"></a>
+<span class="sourceLineNo">622</span>        conf.getLong("hbase.regionserver.fileSplitTimeout", 600000));<a name="line.622"></a>
+<span class="sourceLineNo">623</span>    try {<a name="line.623"></a>
+<span class="sourceLineNo">624</span>      boolean stillRunning = !threadPool.awaitTermination(fileSplitTimeout, TimeUnit.MILLISECONDS);<a name="line.624"></a>
+<span class="sourceLineNo">625</span>      if (stillRunning) {<a name="line.625"></a>
+<span class="sourceLineNo">626</span>        threadPool.shutdownNow();<a name="line.626"></a>
+<span class="sourceLineNo">627</span>        // wait for the thread to shutdown completely.<a name="line.627"></a>
+<span class="sourceLineNo">628</span>        while (!threadPool.isTerminated()) {<a name="line.628"></a>
+<span class="sourceLineNo">629</span>          Thread.sleep(50);<a name="line.629"></a>
+<span class="sourceLineNo">630</span>        }<a name="line.630"></a>
+<span class="sourceLineNo">631</span>        throw new IOException("Took too long to split the" +<a name="line.631"></a>
+<span class="sourceLineNo">632</span>            " files and create the references, aborting split");<a name="line.632"></a>
+<span class="sourceLineNo">633</span>      }<a name="line.633"></a>
+<span class="sourceLineNo">634</span>    } catch (InterruptedException e) {<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      throw (InterruptedIOException)new InterruptedIOException().initCause(e);<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>    int daughterA = 0;<a name="line.638"></a>
+<span class="sourceLineNo">639</span>    int daughterB = 0;<a name="line.639"></a>
+<span class="sourceLineNo">640</span>    // Look for any exception<a name="line.640"></a>
+<span class="sourceLineNo">641</span>    for (Future&lt;Pair&lt;Path, Path&gt;&gt; future : futures) {<a name="line.641"></a>
+<span class="sourceLineNo">642</span>      try {<a name="line.642"></a>
+<span class="sourceLineNo">643</span>        Pair&lt;Path, Path&gt; p = future.get();<a name="line.643"></a>
+<span class="sourceLineNo">644</span>        daughterA += p.getFirst() != null ? 1 : 0;<a name="line.644"></a>
+<span class="sourceLineNo">645</span>        daughterB += p.getSecond() != null ? 1 : 0;<a name="line.645"></a>
+<span class="sourceLineNo">646</span>      } catch (InterruptedException e) {<a name="line.646"></a>
+<span class="sourceLineNo">647</span>        throw (InterruptedIOException) new InterruptedIOException().initCause(e);<a name="line.647"></a>
+<span class="sourceLineNo">648</span>      } catch (ExecutionException e) {<a name="line.648"></a>
+<span class="sourceLineNo">649</span>        throw new IOException(e);<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><a name="line.652"></a>
+<span class="sourceLineNo">653</span>    if (LOG.isDebugEnabled()) {<a name="line.653"></a>
+<span class="sourceLineNo">654</span>      LOG.debug("pid=" + getProcId() + " split storefiles for region " +<a name="line.654"></a>
+<span class="sourceLineNo">655</span>        getParentRegion().getShortNameToLog() +<a name="line.655"></a>
+<span class="sourceLineNo">656</span>          " Daughter A: " + daughterA + " storefiles, Daughter B: " +<a name="line.656"></a>
+<span class="sourceLineNo">657</span>          daughterB + " storefiles.");<a name="line.657"></a>
+<span class="sourceLineNo">658</span>    }<a name="line.658"></a>
+<span class="sourceLineNo">659</span>    return new Pair&lt;Integer, Integer&gt;(daughterA, daughterB);<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>  private void assertReferenceFileCount(final FileSystem fs, final int expectedReferenceFileCount,<a name="line.662"></a>
+<span class="sourceLineNo">663</span>      final Path dir) throws IOException {<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    if (expectedReferenceFileCount != 0 &amp;&amp;<a name="line.664"></a>
+<span class="sourceLineNo">665</span>        expectedReferenceFileCount != FSUtils.getRegionReferenceFileCount(fs, dir)) {<a name="line.665"></a>
+<span class="sourceLineNo">666</span>      throw new IOException("Failing split. Expected reference file count isn't equal.");<a name="line.666"></a>
+<span class="sourceLineNo">667</span>    }<a name="line.667"></a>
+<span class="sourceLineNo">668</span>  }<a name="line.668"></a>
+<span class="sourceLineNo">669</span><a name="line.669"></a>
+<span class="sourceLineNo">670</span>  private Pair&lt;Path, Path&gt; splitStoreFile(HRegionFileSystem regionFs, byte[] family, HStoreFile sf)<a name="line.670"></a>
+<span class="sourceLineNo">671</span>      throws IOException {<a name="line.671"></a>
+<span class="sourceLineNo">672</span>    if (LOG.isDebugEnabled()) {<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      LOG.debug("pid=" + getProcId() + " splitting started for store file: " +<a name="line.673"></a>
+<span class="sourceLineNo">674</span>          sf.getPath() + " for region: " + getParentRegion().getShortNameToLog());<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    }<a name="line.675"></a>
+<span class="sourceLineNo">676</span><a name="line.676"></a>
+<span class="sourceLineNo">677</span>    final byte[] splitRow = getSplitRow();<a name="line.677"></a>
+<span class="sourceLineNo">678</span>    final String familyName = Bytes.toString(family);<a name="line.678"></a>
+<span class="sourceLineNo">679</span>    final Path path_first =<a name="line.679"></a>
+<span class="sourceLineNo">680</span>        regionFs.splitStoreFile(this.daughter_1_RI, familyName, sf, splitRow, false, null);<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    final Path path_second =<a name="line.681"></a>
+<span class="sourceLineNo">682</span>        regionFs.splitStoreFile(this.daughter_2_RI, familyName, sf, splitRow, true, null);<a name="line.682"></a>
+<span class="sourceLineNo">683</span>    if (LOG.isDebugEnabled()) {<a name="line.683"></a>
+<span class="sourceLineNo">684</span>      LOG.debug("pid=" + getProcId() + " splitting complete for store file: " +<a name="line.684"></a>
+<span class="sourceLineNo">685</span>          sf.getPath() + " for region: " + getParentRegion().getShortNameToLog());<a name="line.685"></a>
+<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    return new Pair&lt;Path,Path&gt;(path_first, path_second);<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>   * Utility class used to do the file splitting / reference writing<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * in parallel instead of sequentially.<a name="line.692"></a>
+<span class="sourceLineNo">693</s

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 b49f000..a0b28cc 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
@@ -1903,22 +1903,30 @@
 <span class="sourceLineNo">1895</span>        .getRegionInfoForReplica(RegionInfoBuilder.FIRST_META_REGIONINFO,<a name="line.1895"></a>
 <span class="sourceLineNo">1896</span>            RegionInfo.DEFAULT_REPLICA_ID);<a name="line.1896"></a>
 <span class="sourceLineNo">1897</span>    RegionState regionStateNode = getRegionStates().getRegionState(hri);<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span>    if (!regionStateNode.getServerName().equals(serverName)) {<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>      return;<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>    }<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>    // meta has been assigned to crashed server.<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span>    LOG.info("Meta assigned to crashed " + serverName + "; reassigning...");<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span>    // Handle failure and wake event<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>    RegionTransitionProcedure rtp = getRegionStates().getRegionTransitionProcedure(hri);<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>    // Do not need to consider for REGION_TRANSITION_QUEUE step<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>    if (rtp != null &amp;&amp; rtp.isMeta() &amp;&amp;<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span>        rtp.getTransitionState() == RegionTransitionState.REGION_TRANSITION_DISPATCH) {<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span>      LOG.debug("Failing " + rtp.toString());<a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>      rtp.remoteCallFailed(master.getMasterProcedureExecutor().getEnvironment(), serverName,<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>          new ServerCrashException(rtp.getProcId(), serverName));<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>    }<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>  }<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>}<a name="line.1913"></a>
+<span class="sourceLineNo">1898</span>    if (regionStateNode == null) {<a name="line.1898"></a>
+<span class="sourceLineNo">1899</span>      LOG.warn("RegionStateNode is null for " + hri);<a name="line.1899"></a>
+<span class="sourceLineNo">1900</span>      return;<a name="line.1900"></a>
+<span class="sourceLineNo">1901</span>    }<a name="line.1901"></a>
+<span class="sourceLineNo">1902</span>    ServerName rsnServerName = regionStateNode.getServerName();<a name="line.1902"></a>
+<span class="sourceLineNo">1903</span>    if (rsnServerName != null &amp;&amp; !rsnServerName.equals(serverName)) {<a name="line.1903"></a>
+<span class="sourceLineNo">1904</span>      return;<a name="line.1904"></a>
+<span class="sourceLineNo">1905</span>    } else if (rsnServerName == null) {<a name="line.1905"></a>
+<span class="sourceLineNo">1906</span>      LOG.warn("Empty ServerName in RegionStateNode; proceeding anyways in case latched " +<a name="line.1906"></a>
+<span class="sourceLineNo">1907</span>          "RecoverMetaProcedure so meta latch gets cleaned up.");<a name="line.1907"></a>
+<span class="sourceLineNo">1908</span>    }<a name="line.1908"></a>
+<span class="sourceLineNo">1909</span>    // meta has been assigned to crashed server.<a name="line.1909"></a>
+<span class="sourceLineNo">1910</span>    LOG.info("Meta assigned to crashed " + serverName + "; reassigning...");<a name="line.1910"></a>
+<span class="sourceLineNo">1911</span>    // Handle failure and wake event<a name="line.1911"></a>
+<span class="sourceLineNo">1912</span>    RegionTransitionProcedure rtp = getRegionStates().getRegionTransitionProcedure(hri);<a name="line.1912"></a>
+<span class="sourceLineNo">1913</span>    // Do not need to consider for REGION_TRANSITION_QUEUE step<a name="line.1913"></a>
+<span class="sourceLineNo">1914</span>    if (rtp != null &amp;&amp; rtp.isMeta() &amp;&amp;<a name="line.1914"></a>
+<span class="sourceLineNo">1915</span>        rtp.getTransitionState() == RegionTransitionState.REGION_TRANSITION_DISPATCH) {<a name="line.1915"></a>
+<span class="sourceLineNo">1916</span>      LOG.debug("Failing " + rtp.toString());<a name="line.1916"></a>
+<span class="sourceLineNo">1917</span>      rtp.remoteCallFailed(master.getMasterProcedureExecutor().getEnvironment(), serverName,<a name="line.1917"></a>
+<span class="sourceLineNo">1918</span>          new ServerCrashException(rtp.getProcId(), serverName));<a name="line.1918"></a>
+<span class="sourceLineNo">1919</span>    }<a name="line.1919"></a>
+<span class="sourceLineNo">1920</span>  }<a name="line.1920"></a>
+<span class="sourceLineNo">1921</span>}<a name="line.1921"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 b49f000..a0b28cc 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
@@ -1903,22 +1903,30 @@
 <span class="sourceLineNo">1895</span>        .getRegionInfoForReplica(RegionInfoBuilder.FIRST_META_REGIONINFO,<a name="line.1895"></a>
 <span class="sourceLineNo">1896</span>            RegionInfo.DEFAULT_REPLICA_ID);<a name="line.1896"></a>
 <span class="sourceLineNo">1897</span>    RegionState regionStateNode = getRegionStates().getRegionState(hri);<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span>    if (!regionStateNode.getServerName().equals(serverName)) {<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>      return;<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>    }<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>    // meta has been assigned to crashed server.<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span>    LOG.info("Meta assigned to crashed " + serverName + "; reassigning...");<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span>    // Handle failure and wake event<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>    RegionTransitionProcedure rtp = getRegionStates().getRegionTransitionProcedure(hri);<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>    // Do not need to consider for REGION_TRANSITION_QUEUE step<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>    if (rtp != null &amp;&amp; rtp.isMeta() &amp;&amp;<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span>        rtp.getTransitionState() == RegionTransitionState.REGION_TRANSITION_DISPATCH) {<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span>      LOG.debug("Failing " + rtp.toString());<a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>      rtp.remoteCallFailed(master.getMasterProcedureExecutor().getEnvironment(), serverName,<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>          new ServerCrashException(rtp.getProcId(), serverName));<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>    }<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>  }<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>}<a name="line.1913"></a>
+<span class="sourceLineNo">1898</span>    if (regionStateNode == null) {<a name="line.1898"></a>
+<span class="sourceLineNo">1899</span>      LOG.warn("RegionStateNode is null for " + hri);<a name="line.1899"></a>
+<span class="sourceLineNo">1900</span>      return;<a name="line.1900"></a>
+<span class="sourceLineNo">1901</span>    }<a name="line.1901"></a>
+<span class="sourceLineNo">1902</span>    ServerName rsnServerName = regionStateNode.getServerName();<a name="line.1902"></a>
+<span class="sourceLineNo">1903</span>    if (rsnServerName != null &amp;&amp; !rsnServerName.equals(serverName)) {<a name="line.1903"></a>
+<span class="sourceLineNo">1904</span>      return;<a name="line.1904"></a>
+<span class="sourceLineNo">1905</span>    } else if (rsnServerName == null) {<a name="line.1905"></a>
+<span class="sourceLineNo">1906</span>      LOG.warn("Empty ServerName in RegionStateNode; proceeding anyways in case latched " +<a name="line.1906"></a>
+<span class="sourceLineNo">1907</span>          "RecoverMetaProcedure so meta latch gets cleaned up.");<a name="line.1907"></a>
+<span class="sourceLineNo">1908</span>    }<a name="line.1908"></a>
+<span class="sourceLineNo">1909</span>    // meta has been assigned to crashed server.<a name="line.1909"></a>
+<span class="sourceLineNo">1910</span>    LOG.info("Meta assigned to crashed " + serverName + "; reassigning...");<a name="line.1910"></a>
+<span class="sourceLineNo">1911</span>    // Handle failure and wake event<a name="line.1911"></a>
+<span class="sourceLineNo">1912</span>    RegionTransitionProcedure rtp = getRegionStates().getRegionTransitionProcedure(hri);<a name="line.1912"></a>
+<span class="sourceLineNo">1913</span>    // Do not need to consider for REGION_TRANSITION_QUEUE step<a name="line.1913"></a>
+<span class="sourceLineNo">1914</span>    if (rtp != null &amp;&amp; rtp.isMeta() &amp;&amp;<a name="line.1914"></a>
+<span class="sourceLineNo">1915</span>        rtp.getTransitionState() == RegionTransitionState.REGION_TRANSITION_DISPATCH) {<a name="line.1915"></a>
+<span class="sourceLineNo">1916</span>      LOG.debug("Failing " + rtp.toString());<a name="line.1916"></a>
+<span class="sourceLineNo">1917</span>      rtp.remoteCallFailed(master.getMasterProcedureExecutor().getEnvironment(), serverName,<a name="line.1917"></a>
+<span class="sourceLineNo">1918</span>          new ServerCrashException(rtp.getProcId(), serverName));<a name="line.1918"></a>
+<span class="sourceLineNo">1919</span>    }<a name="line.1919"></a>
+<span class="sourceLineNo">1920</span>  }<a name="line.1920"></a>
+<span class="sourceLineNo">1921</span>}<a name="line.1921"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 b49f000..a0b28cc 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
@@ -1903,22 +1903,30 @@
 <span class="sourceLineNo">1895</span>        .getRegionInfoForReplica(RegionInfoBuilder.FIRST_META_REGIONINFO,<a name="line.1895"></a>
 <span class="sourceLineNo">1896</span>            RegionInfo.DEFAULT_REPLICA_ID);<a name="line.1896"></a>
 <span class="sourceLineNo">1897</span>    RegionState regionStateNode = getRegionStates().getRegionState(hri);<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span>    if (!regionStateNode.getServerName().equals(serverName)) {<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>      return;<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>    }<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>    // meta has been assigned to crashed server.<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span>    LOG.info("Meta assigned to crashed " + serverName + "; reassigning...");<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span>    // Handle failure and wake event<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>    RegionTransitionProcedure rtp = getRegionStates().getRegionTransitionProcedure(hri);<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>    // Do not need to consider for REGION_TRANSITION_QUEUE step<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>    if (rtp != null &amp;&amp; rtp.isMeta() &amp;&amp;<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span>        rtp.getTransitionState() == RegionTransitionState.REGION_TRANSITION_DISPATCH) {<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span>      LOG.debug("Failing " + rtp.toString());<a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>      rtp.remoteCallFailed(master.getMasterProcedureExecutor().getEnvironment(), serverName,<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>          new ServerCrashException(rtp.getProcId(), serverName));<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>    }<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>  }<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>}<a name="line.1913"></a>
+<span class="sourceLineNo">1898</span>    if (regionStateNode == null) {<a name="line.1898"></a>
+<span class="sourceLineNo">1899</span>      LOG.warn("RegionStateNode is null for " + hri);<a name="line.1899"></a>
+<span class="sourceLineNo">1900</span>      return;<a name="line.1900"></a>
+<span class="sourceLineNo">1901</span>    }<a name="line.1901"></a>
+<span class="sourceLineNo">1902</span>    ServerName rsnServerName = regionStateNode.getServerName();<a name="line.1902"></a>
+<span class="sourceLineNo">1903</span>    if (rsnServerName != null &amp;&amp; !rsnServerName.equals(serverName)) {<a name="line.1903"></a>
+<span class="sourceLineNo">1904</span>      return;<a name="line.1904"></a>
+<span class="sourceLineNo">1905</span>    } else if (rsnServerName == null) {<a name="line.1905"></a>
+<span class="sourceLineNo">1906</span>      LOG.warn("Empty ServerName in RegionStateNode; proceeding anyways in case latched " +<a name="line.1906"></a>
+<span class="sourceLineNo">1907</span>          "RecoverMetaProcedure so meta latch gets cleaned up.");<a name="line.1907"></a>
+<span class="sourceLineNo">1908</span>    }<a name="line.1908"></a>
+<span class="sourceLineNo">1909</span>    // meta has been assigned to crashed server.<a name="line.1909"></a>
+<span class="sourceLineNo">1910</span>    LOG.info("Meta assigned to crashed " + serverName + "; reassigning...");<a name="line.1910"></a>
+<span class="sourceLineNo">1911</span>    // Handle failure and wake event<a name="line.1911"></a>
+<span class="sourceLineNo">1912</span>    RegionTransitionProcedure rtp = getRegionStates().getRegionTransitionProcedure(hri);<a name="line.1912"></a>
+<span class="sourceLineNo">1913</span>    // Do not need to consider for REGION_TRANSITION_QUEUE step<a name="line.1913"></a>
+<span class="sourceLineNo">1914</span>    if (rtp != null &amp;&amp; rtp.isMeta() &amp;&amp;<a name="line.1914"></a>
+<span class="sourceLineNo">1915</span>        rtp.getTransitionState() == RegionTransitionState.REGION_TRANSITION_DISPATCH) {<a name="line.1915"></a>
+<span class="sourceLineNo">1916</span>      LOG.debug("Failing " + rtp.toString());<a name="line.1916"></a>
+<span class="sourceLineNo">1917</span>      rtp.remoteCallFailed(master.getMasterProcedureExecutor().getEnvironment(), serverName,<a name="line.1917"></a>
+<span class="sourceLineNo">1918</span>          new ServerCrashException(rtp.getProcId(), serverName));<a name="line.1918"></a>
+<span class="sourceLineNo">1919</span>    }<a name="line.1919"></a>
+<span class="sourceLineNo">1920</span>  }<a name="line.1920"></a>
+<span class="sourceLineNo">1921</span>}<a name="line.1921"></a>
 
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.html
index 127069d..e94581b 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":9,"i15":10,"i16":10,"i17":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.RetryingRpcCallable.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/Replication.ReplicationStatisticsThread.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/Replication.ReplicationStatisticsTask.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/Replication.html" target="_top">Frames</a></li>
@@ -109,15 +109,15 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a></dd>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a></dd>
 </dl>
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.69">Replication</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.62">Replication</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a>, <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">Gateway to Replication.  Used by <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegionServer</code></a>.</div>
+implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a></pre>
+<div class="block">Gateway to Replication. Used by <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegionServer</code></a>.</div>
 </li>
 </ul>
 </div>
@@ -137,8 +137,10 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <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/Replication.ReplicationStatisticsThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsThread</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsTask</a></span></code>
+<div class="block">Statistics task.</div>
+</td>
 </tr>
 </table>
 </li>
@@ -160,21 +162,21 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#conf">conf</a></span></code>&nbsp;</td>
 </tr>
 <tr 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/Replication.html#isReplicationForBulkLoadDataEnabled">isReplicationForBulkLoadDataEnabled</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <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/regionserver/Replication.html#LOG">LOG</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandler</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#peerProcedureHandler">peerProcedureHandler</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<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/Replication.html#queueStorage">queueStorage</a></span></code>&nbsp;</td>
 </tr>
-<tr 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/Replication.html#replicationForBulkLoadData">replicationForBulkLoadData</a></span></code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationLoad</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#replicationLoad">replicationLoad</a></span></code>&nbsp;</td>
@@ -228,14 +230,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <div class="block">Empty constructor</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#Replication-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">Replication</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
-           org.apache.hadoop.fs.FileSystem&nbsp;fs,
-           org.apache.hadoop.fs.Path&nbsp;logDir,
-           org.apache.hadoop.fs.Path&nbsp;oldLogDir)</code>
-<div class="block">Instantiate the replication management (if rep is enabled).</div>
-</td>
-</tr>
 </table>
 </li>
 </ul>
@@ -246,7 +240,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 </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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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>
+<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>
@@ -262,77 +256,40 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#buildReplicationLoad--">buildReplicationLoad</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#decorateMasterConfiguration-org.apache.hadoop.conf.Configuration-">decorateMasterConfiguration</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
-<div class="block">This method modifies the master's configuration in order to inject replication-related features</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#decorateRegionServerConfiguration-org.apache.hadoop.conf.Configuration-">decorateRegionServerConfiguration</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
-<div class="block">This method modifies the region server's configuration in order to inject replication-related
- features</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandler</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#getPeerProcedureHandler--">getPeerProcedureHandler</a></span>()</code>
 <div class="block">Returns a Handler to handle peer procedures.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i3" 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/Replication.html#getReplicationManager--">getReplicationManager</a></span>()</code>
 <div class="block">Get the replication sources manager</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#getWALActionsListener--">getWALActionsListener</a></span>()</code>
-<div class="block">Returns a WALObserver for the service.</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">initialize</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">initialize</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
           org.apache.hadoop.fs.FileSystem&nbsp;fs,
           org.apache.hadoop.fs.Path&nbsp;logDir,
           org.apache.hadoop.fs.Path&nbsp;oldLogDir,
-          <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a>&nbsp;walFileLengthProvider)</code>
+          <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)</code>
 <div class="block">Initializes the replication service object.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#isReplicationForBulkLoadDataEnabled-org.apache.hadoop.conf.Configuration-">isReplicationForBulkLoadDataEnabled</a></span>(org.apache.hadoop.conf.Configuration&nbsp;c)</code>&nbsp;</td>
-</tr>
-<tr id="i9" class="rowColor">
+<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/Replication.html#join--">join</a></span>()</code>
 <div class="block">Join with the replication threads</div>
 </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/Replication.html#postLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">postLogRoll</a></span>(org.apache.hadoop.fs.Path&nbsp;oldPath,
-           org.apache.hadoop.fs.Path&nbsp;newPath)</code>
-<div class="block">The WAL has been rolled.</div>
-</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/Replication.html#preLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">preLogRoll</a></span>(org.apache.hadoop.fs.Path&nbsp;oldPath,
-          org.apache.hadoop.fs.Path&nbsp;newPath)</code>
-<div class="block">The WAL is going to be rolled.</div>
-</td>
-</tr>
-<tr id="i12" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationLoad</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#refreshAndGetReplicationLoad--">refreshAndGetReplicationLoad</a></span>()</code>
 <div class="block">Refresh and Get ReplicationLoad</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<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/Replication.html#replicateLogEntries-java.util.List-org.apache.hadoop.hbase.CellScanner-java.lang.String-java.lang.String-java.lang.String-">replicateLogEntries</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry&gt;&nbsp;entries,
                    <a href="../../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cells,
@@ -342,33 +299,19 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <div class="block">Carry on the list of log entries down to the sink</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">scopeWALEdits</a></span>(<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,
-             <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationManager)</code>
-<div class="block">Utility method used to set the correct scopes on each log key.</div>
-</td>
-</tr>
-<tr id="i15" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#startReplicationService--">startReplicationService</a></span>()</code>
 <div class="block">If replication is enabled and this cluster is a master,
  it starts</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#stopReplicationService--">stopReplicationService</a></span>()</code>
 <div class="block">Stops replication service.</div>
 </td>
 </tr>
-<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/Replication.html#visitLogEntryBeforeWrite-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">visitLogEntryBeforeWrite</a></span>(<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)</code>&nbsp;</td>
-</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -377,13 +320,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://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="http://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="http://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.regionserver.wal.WALActionsListener">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;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></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#logCloseRequested--">logCloseRequested</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#logRollRequested-boolean-">logRollRequested</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#postAppend-long-long-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">postAppend</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#postLogArchive-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">postLogArchive</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#postSync-long-int-">postSync</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#preLogArchive-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">preLogArchive</a>, <a href="../../../../../..
 /org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#visitLogEntryBeforeWrite-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">visitLogEntryBeforeWrite</a></code></li>
-</ul>
 </li>
 </ul>
 </li>
@@ -404,16 +340,16 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <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/Replication.html#line.71">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.63">LOG</a></pre>
 </li>
 </ul>
-<a name="replicationForBulkLoadData">
+<a name="isReplicationForBulkLoadDataEnabled">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>replicationForBulkLoadData</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.73">replicationForBulkLoadData</a></pre>
+<h4>isReplicationForBulkLoadDataEnabled</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.65">isReplicationForBulkLoadDataEnabled</a></pre>
 </li>
 </ul>
 <a name="replicationManager">
@@ -422,7 +358,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationManager</h4>
-<pre>private&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/Replication.html#line.74">replicationManager</a></pre>
+<pre>private&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/Replication.html#line.66">replicationManager</a></pre>
 </li>
 </ul>
 <a name="queueStorage">
@@ -431,7 +367,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>queueStorage</h4>
-<pre>private&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/Replication.html#line.75">queueStorage</a></pre>
+<pre>private&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/Replication.html#line.67">queueStorage</a></pre>
 </li>
 </ul>
 <a name="replicationPeers">
@@ -440,7 +376,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationPeers</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.76">replicationPeers</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.68">replicationPeers</a></pre>
 </li>
 </ul>
 <a name="replicationTracker">
@@ -449,7 +385,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationTracker</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationTracker.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationTracker</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.77">replicationTracker</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationTracker.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationTracker</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.69">replicationTracker</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -458,7 +394,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>private&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.78">conf</a></pre>
+<pre>private&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.70">conf</a></pre>
 </li>
 </ul>
 <a name="replicationSink">
@@ -467,7 +403,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationSink</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.79">replicationSink</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSink</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.71">replicationSink</a></pre>
 </li>
 </ul>
 <a name="server">
@@ -476,7 +412,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>server</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.81">server</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.73">server</a></pre>
 </li>
 </ul>
 <a name="scheduleThreadPool">
@@ -485,7 +421,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>scheduleThreadPool</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.83">scheduleThreadPool</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.75">scheduleThreadPool</a></pre>
 <div class="block">Statistics thread schedule pool</div>
 </li>
 </ul>
@@ -495,7 +431,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>statsThreadPeriod</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.84">statsThreadPeriod</a></pre>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.76">statsThreadPeriod</a></pre>
 </li>
 </ul>
 <a name="replicationLoad">
@@ -504,7 +440,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>replicationLoad</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationLoad</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.86">replicationLoad</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationLoad</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.78">replicationLoad</a></pre>
 </li>
 </ul>
 <a name="peerProcedureHandler">
@@ -513,7 +449,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockListLast">
 <li class="blockList">
 <h4>peerProcedureHandler</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandler</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.88">peerProcedureHandler</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandler</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.80">peerProcedureHandler</a></pre>
 </li>
 </ul>
 </li>
@@ -524,36 +460,13 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="Replication-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>Replication</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.98">Replication</a>(<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
-                   org.apache.hadoop.fs.FileSystem&nbsp;fs,
-                   org.apache.hadoop.fs.Path&nbsp;logDir,
-                   org.apache.hadoop.fs.Path&nbsp;oldLogDir)
-            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Instantiate the replication management (if rep is enabled).</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>server</code> - Hosting server</dd>
-<dd><code>fs</code> - handle to the filesystem</dd>
-<dd><code>logDir</code> - </dd>
-<dd><code>oldLogDir</code> - directory where logs are archived</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
 <a name="Replication--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Replication</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.105">Replication</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.85">Replication</a>()</pre>
 <div class="block">Empty constructor</div>
 </li>
 </ul>
@@ -565,66 +478,37 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">
+<a name="initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.109">initialize</a>(<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.89">initialize</a>(<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
                        org.apache.hadoop.fs.FileSystem&nbsp;fs,
                        org.apache.hadoop.fs.Path&nbsp;logDir,
                        org.apache.hadoop.fs.Path&nbsp;oldLogDir,
-                       <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a>&nbsp;walFileLengthProvider)
+                       <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)
                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">ReplicationService</a></code></span></div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">ReplicationService</a></code></span></div>
 <div class="block">Initializes the replication service object.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a></code></dd>
+<dd><code>walProvider</code> - can be null if not initialized inside a live region server environment, for
+          example, <code>ReplicationSyncUp</code>.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
-<a name="isReplicationForBulkLoadDataEnabled-org.apache.hadoop.conf.Configuration-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isReplicationForBulkLoadDataEnabled</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.160">isReplicationForBulkLoadDataEnabled</a>(org.apache.hadoop.conf.Configuration&nbsp;c)</pre>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>c</code> - Configuration to look at</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>True if replication for bulk load data is enabled.</dd>
-</dl>
-</li>
-</ul>
-<a name="getWALActionsListener--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getWALActionsListener</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.169">getWALActionsListener</a>()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#getWALActionsListener--">ReplicationSourceService</a></code></span></div>
-<div class="block">Returns a WALObserver for the service. This is needed to
- observe log rolls and log archival events.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#getWALActionsListener--">getWALActionsListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a></code></dd>
-</dl>
-</li>
-</ul>
 <a name="getPeerProcedureHandler--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getPeerProcedureHandler</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandler</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.174">getPeerProcedureHandler</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandler</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.157">getPeerProcedureHandler</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#getPeerProcedureHandler--">ReplicationSourceService</a></code></span></div>
 <div class="block">Returns a Handler to handle peer procedures.</div>
 <dl>
@@ -639,7 +523,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>stopReplicationService</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.182">stopReplicationService</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.165">stopReplicationService</a>()</pre>
 <div class="block">Stops replication service.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -653,7 +537,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>join</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.189">join</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.172">join</a>()</pre>
 <div class="block">Join with the replication threads</div>
 </li>
 </ul>
@@ -663,7 +547,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>replicateLogEntries</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.211">replicateLogEntries</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry&gt;&nbsp;entries,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.194">replicateLogEntries</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry&gt;&nbsp;entries,
                                 <a href="../../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cells,
                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;replicationClusterId,
                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sourceBaseNamespaceDirPath,
@@ -694,7 +578,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>startReplicationService</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.224">startReplicationService</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.207">startReplicationService</a>()
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">If replication is enabled and this cluster is a master,
  it starts</div>
@@ -712,7 +596,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationManager</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.236">getReplicationManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.219">getReplicationManager</a>()</pre>
 <div class="block">Get the replication sources manager</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -720,57 +604,13 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 </dl>
 </li>
 </ul>
-<a name="visitLogEntryBeforeWrite-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>visitLogEntryBeforeWrite</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.241">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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#visitLogEntryBeforeWrite-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">visitLogEntryBeforeWrite</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a></code></dd>
-<dd><code>logEdit</code> - TODO: Retire this in favor of
-          <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#visitLogEntryBeforeWrite-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-"><code>WALActionsListener.visitLogEntryBeforeWrite(RegionInfo, WALKey, WALEdit)</code></a> It only exists to get
-          scope when replicating. Scope should be in the WALKey and not need us passing in a
-          <code>htd</code>.</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If failed to parse the WALEdit</dd>
-</dl>
-</li>
-</ul>
-<a name="scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>scopeWALEdits</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.253">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,
-                                 <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationManager)
-                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">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>
-<dd><code>replicationManager</code> - Manager used to add bulk load events hfile references</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If failed to parse the WALEdit</dd>
-</dl>
-</li>
-</ul>
 <a name="addHFileRefsToQueue-org.apache.hadoop.hbase.TableName-byte:A-java.util.List-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>addHFileRefsToQueue</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.279">addHFileRefsToQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.223">addHFileRefsToQueue</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                          byte[]&nbsp;family,
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/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;&gt;&nbsp;pairs)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -780,88 +620,13 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 </dl>
 </li>
 </ul>
-<a name="preLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>preLogRoll</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.290">preLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
-                       org.apache.hadoop.fs.Path&nbsp;newPath)
-                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#preLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">WALActionsListener</a></code></span></div>
-<div class="block">The WAL is going to be rolled. The oldPath can be null if this is
- the first log file from the regionserver.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#preLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">preLogRoll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>oldPath</code> - the path to the old wal</dd>
-<dd><code>newPath</code> - the path to the new wal</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="postLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>postLogRoll</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.295">postLogRoll</a>(org.apache.hadoop.fs.Path&nbsp;oldPath,
-                        org.apache.hadoop.fs.Path&nbsp;newPath)
-                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#postLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">WALActionsListener</a></code></span></div>
-<div class="block">The WAL has been rolled. The oldPath can be null if this is
- the first log file from the regionserver.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#postLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">postLogRoll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>oldPath</code> - the path to the old wal</dd>
-<dd><code>newPath</code> - the path to the new wal</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
-</dl>
-</li>
-</ul>
-<a name="decorateMasterConfiguration-org.apache.hadoop.conf.Configuration-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decorateMasterConfiguration</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.303">decorateMasterConfiguration</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
-<div class="block">This method modifies the master's configuration in order to inject replication-related features</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>conf</code> - </dd>
-</dl>
-</li>
-</ul>
-<a name="decorateRegionServerConfiguration-org.apache.hadoop.conf.Configuration-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>decorateRegionServerConfiguration</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.323">decorateRegionServerConfiguration</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
-<div class="block">This method modifies the region server's configuration in order to inject replication-related
- features</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>conf</code> - region server configurations</dd>
-</dl>
-</li>
-</ul>
 <a name="refreshAndGetReplicationLoad--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>refreshAndGetReplicationLoad</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationLoad</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.363">refreshAndGetReplicationLoad</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationLoad</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.261">refreshAndGetReplicationLoad</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#refreshAndGetReplicationLoad--">ReplicationService</a></code></span></div>
 <div class="block">Refresh and Get ReplicationLoad</div>
 <dl>
@@ -876,7 +641,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <ul class="blockListLast">
 <li class="blockList">
 <h4>buildReplicationLoad</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.372">buildReplicationLoad</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.270">buildReplicationLoad</a>()</pre>
 </li>
 </ul>
 </li>
@@ -908,7 +673,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Repli
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.RetryingRpcCallable.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/Replication.ReplicationStatisticsThread.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/Replication.ReplicationStatisticsTask.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/Replication.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html
index 1265ada..a0b5e79 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.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/Replication.ReplicationStatisticsTask.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/ReplicationObserver.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -414,7 +414,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.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/Replication.ReplicationStatisticsTask.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/ReplicationObserver.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/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.NodeFailoverWorker.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.NodeFailoverWorker.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.NodeFailoverWorker.html
index acd0e5b..81410c4 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.NodeFailoverWorker.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.NodeFailoverWorker.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.626">ReplicationSourceManager.NodeFailoverWorker</a>
+<pre>class <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.676">ReplicationSourceManager.NodeFailoverWorker</a>
 extends <a href="http://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">Class responsible to setup new ReplicationSources to take care of the queues from dead region
  servers.</div>
@@ -241,7 +241,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>deadRS</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/ReplicationSourceManager.NodeFailoverWorker.html#line.628">deadRS</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/ReplicationSourceManager.NodeFailoverWorker.html#line.678">deadRS</a></pre>
 </li>
 </ul>
 </li>
@@ -258,7 +258,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NodeFailoverWorker</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.NodeFailoverWorker.html#line.631">NodeFailoverWorker</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;deadRS)</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.NodeFailoverWorker.html#line.681">NodeFailoverWorker</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;deadRS)</pre>
 </li>
 </ul>
 </li>
@@ -275,7 +275,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.NodeFailoverWorker.html#line.637">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.NodeFailoverWorker.html#line.687">run</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html
index 20d7f2d..b785039 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
-private static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.454">ReplicationSourceManager.ReplicationQueueOperation</a></pre>
+private static interface <a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#line.463">ReplicationSourceManager.ReplicationQueueOperation</a></pre>
 </li>
 </ul>
 </div>
@@ -154,7 +154,7 @@ private static interface <a href="../../../../../../src-html/org/apache/hadoop/h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>exec</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html#line.455">exec</a>()
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.ReplicationQueueOperation.html#line.464">exec</a>()
    throws <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
index 387378d..b164efe 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2935">HRegion.BatchOperation</a>&lt;T&gt;
+<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2936">HRegion.BatchOperation</a>&lt;T&gt;
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Class that tracks the progress of a batch operations, accumulating status codes and tracking
  the index at which processing is proceeding. These batch operations may get split into
@@ -411,7 +411,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>operations</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2936">operations</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2937">operations</a></pre>
 </li>
 </ul>
 <a name="retCodeDetails">
@@ -420,7 +420,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>retCodeDetails</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2937">retCodeDetails</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2938">retCodeDetails</a></pre>
 </li>
 </ul>
 <a name="walEditsFromCoprocessors">
@@ -429,7 +429,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>walEditsFromCoprocessors</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2938">walEditsFromCoprocessors</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2939">walEditsFromCoprocessors</a></pre>
 </li>
 </ul>
 <a name="familyCellMaps">
@@ -438,7 +438,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>familyCellMaps</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2940">familyCellMaps</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2941">familyCellMaps</a></pre>
 </li>
 </ul>
 <a name="region">
@@ -447,7 +447,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>region</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2942">region</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2943">region</a></pre>
 </li>
 </ul>
 <a name="nextIndexToProcess">
@@ -456,7 +456,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>nextIndexToProcess</h4>
-<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2943">nextIndexToProcess</a></pre>
+<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2944">nextIndexToProcess</a></pre>
 </li>
 </ul>
 <a name="observedExceptions">
@@ -465,7 +465,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>observedExceptions</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.ObservedExceptionsInBatch</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2944">observedExceptions</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.ObservedExceptionsInBatch</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2945">observedExceptions</a></pre>
 </li>
 </ul>
 <a name="durability">
@@ -474,7 +474,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>durability</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2946">durability</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2947">durability</a></pre>
 </li>
 </ul>
 <a name="atomic">
@@ -483,7 +483,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>atomic</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2947">atomic</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2948">atomic</a></pre>
 </li>
 </ul>
 </li>
@@ -502,7 +502,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>BatchOperation</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2949">BatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2950">BatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                       <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>[]&nbsp;operations)</pre>
 </li>
 </ul>
@@ -520,7 +520,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>visitBatchOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2976">visitBatchOperations</a>(boolean&nbsp;pendingOnly,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2977">visitBatchOperations</a>(boolean&nbsp;pendingOnly,
                                  int&nbsp;lastIndexExclusive,
                                  <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation.Visitor</a>&nbsp;visitor)
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -537,7 +537,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutation</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2988">getMutation</a>(int&nbsp;index)</pre>
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2989">getMutation</a>(int&nbsp;index)</pre>
 </li>
 </ul>
 <a name="getNonceGroup-int-">
@@ -546,7 +546,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceGroup</h4>
-<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2989">getNonceGroup</a>(int&nbsp;index)</pre>
+<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2990">getNonceGroup</a>(int&nbsp;index)</pre>
 </li>
 </ul>
 <a name="getNonce-int-">
@@ -555,7 +555,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonce</h4>
-<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2990">getNonce</a>(int&nbsp;index)</pre>
+<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2991">getNonce</a>(int&nbsp;index)</pre>
 </li>
 </ul>
 <a name="getMutationsForCoprocs--">
@@ -564,7 +564,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutationsForCoprocs</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2992">getMutationsForCoprocs</a>()</pre>
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2993">getMutationsForCoprocs</a>()</pre>
 <div class="block">This method is potentially expensive and useful mostly for non-replay CP path.</div>
 </li>
 </ul>
@@ -574,7 +574,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isInReplay</h4>
-<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2993">isInReplay</a>()</pre>
+<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2994">isInReplay</a>()</pre>
 </li>
 </ul>
 <a name="getOrigLogSeqNum--">
@@ -583,7 +583,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getOrigLogSeqNum</h4>
-<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2994">getOrigLogSeqNum</a>()</pre>
+<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2995">getOrigLogSeqNum</a>()</pre>
 </li>
 </ul>
 <a name="startRegionOperation--">
@@ -592,7 +592,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>startRegionOperation</h4>
-<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2995">startRegionOperation</a>()
+<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2996">startRegionOperation</a>()
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -606,7 +606,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionOperation</h4>
-<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2996">closeRegionOperation</a>()
+<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.2997">closeRegionOperation</a>()
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -620,7 +620,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPrepare</h4>
-<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3005">checkAndPrepare</a>()
+<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3006">checkAndPrepare</a>()
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Validates each mutation and prepares a batch for write. If necessary (non-replay case), runs
  CP prePut()/ preDelete() hooks for all mutations in a batch. This is intended to operate on
@@ -639,7 +639,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPreparePut</h4>
-<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3011">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)
+<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3012">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)
                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Implement any Put request specific check and prepare logic here. Please refer to
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#checkAndPrepareMutation-org.apache.hadoop.hbase.client.Mutation-long-"><code>checkAndPrepareMutation(Mutation, long)</code></a> for how its used.</div>
@@ -655,7 +655,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareMiniBatchOperations</h4>
-<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3017">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
+<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3018">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                                 long&nbsp;timestamp,
                                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;acquiredRowLocks)
                                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -673,7 +673,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>writeMiniBatchOperationsToMemStore</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3023">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3024">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                                                                              <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)
                                                                                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Write mini-batch operations to MemStore</div>
@@ -689,7 +689,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>writeMiniBatchOperationsToMemStore</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3027">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3028">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                                   long&nbsp;writeNumber)
                                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -704,7 +704,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isDone</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3046">isDone</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3047">isDone</a>()</pre>
 </li>
 </ul>
 <a name="size--">
@@ -713,7 +713,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3050">size</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3051">size</a>()</pre>
 </li>
 </ul>
 <a name="isOperationPending-int-">
@@ -722,7 +722,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isOperationPending</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3054">isOperationPending</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3055">isOperationPending</a>(int&nbsp;index)</pre>
 </li>
 </ul>
 <a name="getClusterIds--">
@@ -731,7 +731,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterIds</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3058">getClusterIds</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3059">getClusterIds</a>()</pre>
 </li>
 </ul>
 <a name="isAtomic--">
@@ -740,7 +740,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isAtomic</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3063">isAtomic</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3064">isAtomic</a>()</pre>
 </li>
 </ul>
 <a name="checkAndPrepareMutation-org.apache.hadoop.hbase.client.Mutation-long-">
@@ -749,7 +749,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPrepareMutation</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3073">checkAndPrepareMutation</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3074">checkAndPrepareMutation</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                        long&nbsp;timestamp)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Helper method that checks and prepares only one mutation. This can be used to implement
@@ -768,7 +768,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPrepareMutation</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3085">checkAndPrepareMutation</a>(int&nbsp;index,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3086">checkAndPrepareMutation</a>(int&nbsp;index,
                                        long&nbsp;timestamp)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -783,7 +783,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>lockRowsAndBuildMiniBatch</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3147">lockRowsAndBuildMiniBatch</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;acquiredRowLocks)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3148">lockRowsAndBuildMiniBatch</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;acquiredRowLocks)
                                                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Creates Mini-batch of all operations [nextIndexToProcess, lastIndexExclusive) for which
  a row lock can be acquired. All mutations with locked rows are considered to be
@@ -803,7 +803,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createMiniBatch</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3197">createMiniBatch</a>(int&nbsp;lastIndexExclusive,
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3198">createMiniBatch</a>(int&nbsp;lastIndexExclusive,
                                                                  int&nbsp;readyToWriteCount)</pre>
 </li>
 </ul>
@@ -813,7 +813,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>buildWALEdits</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3207">buildWALEdits</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mi
 niBatchOp)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3208">buildWALEdits</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mi
 niBatchOp)
                                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Builds separate WALEdit per nonce by applying input mutations. If WALEdits from CP are
  present, they are merged to result WALEdit.</div>
@@ -829,7 +829,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>completeMiniBatchOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3255">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3256">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                         <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This method completes mini-batch operations by calling postBatchMutate() CP hook (if
@@ -846,7 +846,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>doPostOpCleanupForMiniBatch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3263">doPostOpCleanupForMiniBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3264">doPostOpCleanupForMiniBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                         <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
                                         boolean&nbsp;success)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -862,7 +862,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>applyFamilyMapToMemStore</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3275">applyFamilyMapToMemStore</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3276">applyFamilyMapToMemStore</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
                                         <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSizing.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSizing</a>&nbsp;memstoreAccounting)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Atomically apply the given map of family->edits to the memstore.
@@ -883,7 +883,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>addFamilyMapToWALEdit</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3291">addFamilyMapToWALEdit</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3292">addFamilyMapToWALEdit</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
                                    <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit)</pre>
 <div class="block">Append the given map of family->edits to a WALEdit data structure.
  This does not write to the WAL itself.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
index 211ff82..64c3ba9 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5817">HRegion.BulkLoadListener</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5816">HRegion.BulkLoadListener</a></pre>
 <div class="block">Listener class to enable callers of
  bulkLoadHFile() to perform any necessary
  pre/post processing of a given bulkload call</div>
@@ -174,7 +174,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareBulkLoad</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.5825">prepareBulkLoad</a>(byte[]&nbsp;family,
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.5824">prepareBulkLoad</a>(byte[]&nbsp;family,
                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath,
                        boolean&nbsp;copyFile)
                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -196,7 +196,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>doneBulkLoad</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.5834">doneBulkLoad</a>(byte[]&nbsp;family,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.5833">doneBulkLoad</a>(byte[]&nbsp;family,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath)
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after a successful HFile load</div>
@@ -215,7 +215,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockListLast">
 <li class="blockList">
 <h4>failedBulkLoad</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.5842">failedBulkLoad</a>(byte[]&nbsp;family,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.5841">failedBulkLoad</a>(byte[]&nbsp;family,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath)
              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after a failed HFile load</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html
index b12ee45..238de9b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2126">HRegion.FlushResult.Result</a>
+<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2127">HRegion.FlushResult.Result</a>
 extends <a href="http://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/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&gt;</pre>
 </li>
 </ul>
@@ -216,7 +216,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSHED_NO_COMPACTION_NEEDED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2127">FLUSHED_NO_COMPACTION_NEEDED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2128">FLUSHED_NO_COMPACTION_NEEDED</a></pre>
 </li>
 </ul>
 <a name="FLUSHED_COMPACTION_NEEDED">
@@ -225,7 +225,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSHED_COMPACTION_NEEDED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2128">FLUSHED_COMPACTION_NEEDED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2129">FLUSHED_COMPACTION_NEEDED</a></pre>
 </li>
 </ul>
 <a name="CANNOT_FLUSH_MEMSTORE_EMPTY">
@@ -234,7 +234,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>CANNOT_FLUSH_MEMSTORE_EMPTY</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2131">CANNOT_FLUSH_MEMSTORE_EMPTY</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2132">CANNOT_FLUSH_MEMSTORE_EMPTY</a></pre>
 </li>
 </ul>
 <a name="CANNOT_FLUSH">
@@ -243,7 +243,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CANNOT_FLUSH</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2132">CANNOT_FLUSH</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2133">CANNOT_FLUSH</a></pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html
index a906aa4..82625e0 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2125">HRegion.FlushResult</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2126">HRegion.FlushResult</a></pre>
 </li>
 </ul>
 </div>
@@ -180,7 +180,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>getResult</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2136">getResult</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2137">getResult</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the detailed result code</dd>
@@ -193,7 +193,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>isFlushSucceeded</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2139">isFlushSucceeded</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2140">isFlushSucceeded</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if the memstores were flushed, else false</dd>
@@ -206,7 +206,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isCompactionNeeded</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2142">isCompactionNeeded</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2143">isCompactionNeeded</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>True if the flush requested a compaction, else false</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
index 9d91b6e..207785b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.458">HRegion.FlushResultImpl</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.459">HRegion.FlushResultImpl</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult</a></pre>
 <div class="block">Objects from this class are created when flushing to describe all the different states that
@@ -273,7 +273,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
 <ul class="blockList">
 <li class="blockList">
 <h4>result</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.459">result</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.460">result</a></pre>
 </li>
 </ul>
 <a name="failureReason">
@@ -282,7 +282,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
 <ul class="blockList">
 <li class="blockList">
 <h4>failureReason</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.460">failureReason</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.461">failureReason</a></pre>
 </li>
 </ul>
 <a name="flushSequenceId">
@@ -291,7 +291,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
 <ul class="blockList">
 <li class="blockList">
 <h4>flushSequenceId</h4>
-<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.461">flushSequenceId</a></pre>
+<pre>final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.462">flushSequenceId</a></pre>
 </li>
 </ul>
 <a name="wroteFlushWalMarker">
@@ -300,7 +300,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>wroteFlushWalMarker</h4>
-<pre>final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.462">wroteFlushWalMarker</a></pre>
+<pre>final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.463">wroteFlushWalMarker</a></pre>
 </li>
 </ul>
 </li>
@@ -317,7 +317,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
 <ul class="blockList">
 <li class="blockList">
 <h4>FlushResultImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.471">FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&nbsp;result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.472">FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&nbsp;result,
                 long&nbsp;flushSequenceId)</pre>
 <div class="block">Convenience constructor to use when the flush is successful, the failure message is set to
  null.</div>
@@ -335,7 +335,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
 <ul class="blockList">
 <li class="blockList">
 <h4>FlushResultImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.482">FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&nbsp;result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.483">FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&nbsp;result,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;failureReason,
                 boolean&nbsp;wroteFlushMarker)</pre>
 <div class="block">Convenience constructor to use when we cannot flush.</div>
@@ -352,7 +352,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FlushResultImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.493">FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&nbsp;result,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.494">FlushResultImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&nbsp;result,
                 long&nbsp;flushSequenceId,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;failureReason,
                 boolean&nbsp;wroteFlushMarker)</pre>
@@ -379,7 +379,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
 <ul class="blockList">
 <li class="blockList">
 <h4>isFlushSucceeded</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.507">isFlushSucceeded</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.508">isFlushSucceeded</a>()</pre>
 <div class="block">Convenience method, the equivalent of checking if result is
  FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.</div>
 <dl>
@@ -396,7 +396,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
 <ul class="blockList">
 <li class="blockList">
 <h4>isCompactionNeeded</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.517">isCompactionNeeded</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.518">isCompactionNeeded</a>()</pre>
 <div class="block">Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -412,7 +412,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.522">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.523">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -425,7 +425,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getResult</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.530">getResult</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html#line.531">getResult</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#getResult--">getResult</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult</a></code></dd>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
index b8e6dfa..7b512ba 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
@@ -28,8473 +28,8472 @@
 <span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.HConstants.REPLICATION_SCOPE_LOCAL;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.regionserver.HStoreFile.MAJOR_COMPACTION_KEY;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import static org.apache.hadoop.hbase.util.CollectionUtils.computeIfAbsent;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.EOFException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.FileNotFoundException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.io.InterruptedIOException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.lang.reflect.Constructor;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.nio.ByteBuffer;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.nio.charset.StandardCharsets;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.text.ParseException;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.AbstractList;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.ArrayList;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.Arrays;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.Collection;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.Collections;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.HashMap;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.util.HashSet;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.Iterator;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.List;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.Map;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.Map.Entry;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.NavigableMap;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.NavigableSet;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.Optional;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.RandomAccess;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.Set;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.TreeMap;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.UUID;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.Callable;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.CompletionService;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.ConcurrentMap;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.ExecutionException;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import java.util.concurrent.ExecutorService;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import java.util.concurrent.Executors;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import java.util.concurrent.Future;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import java.util.concurrent.FutureTask;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import java.util.concurrent.ThreadFactory;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.TimeUnit;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import java.util.concurrent.TimeoutException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import java.util.concurrent.atomic.LongAdder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import java.util.concurrent.locks.Lock;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import java.util.function.Function;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.conf.Configuration;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.fs.FileStatus;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.fs.FileSystem;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.fs.Path;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.Cell;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.CellBuilderType;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.CellComparatorImpl;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.ExtendedCellBuilderFactory;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.HConstants;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.TableName;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.Tag;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Append;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.CompactionState;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Get;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.client.PackagePrivateFieldAccessor;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.client.Put;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.client.Result;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.exceptions.TimeoutIOException;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.io.HFileLink;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.ipc.RpcCall;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionLifeCycleTracker;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.security.User;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hbase.thirdparty.com.google.common.collect.Maps;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hbase.thirdparty.com.google.common.io.Closeables;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hbase.thirdparty.com.google.protobuf.Service;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hbase.thirdparty.com.google.protobuf.TextFormat;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.trace.TraceUtil;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.CollectionUtils;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.NonceKey;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.wal.WALEdit;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.wal.WALKeyImpl;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.apache.hadoop.util.StringUtils;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.apache.htrace.core.TraceScope;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.slf4j.Logger;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.slf4j.LoggerFactory;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>import edu.umd.cs.findbugs.annotations.Nullable;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>/**<a name="line.205"></a>
-<span class="sourceLineNo">206</span> * Regions store data for a certain region of a table.  It stores all columns<a name="line.206"></a>
-<span class="sourceLineNo">207</span> * for each row. A given table consists of one or more Regions.<a name="line.207"></a>
-<span class="sourceLineNo">208</span> *<a name="line.208"></a>
-<span class="sourceLineNo">209</span> * &lt;p&gt;An Region is defined by its table and its key extent.<a name="line.209"></a>
-<span class="sourceLineNo">210</span> *<a name="line.210"></a>
-<span class="sourceLineNo">211</span> * &lt;p&gt;Locking at the Region level serves only one purpose: preventing the<a name="line.211"></a>
-<span class="sourceLineNo">212</span> * region from being closed (and consequently split) while other operations<a name="line.212"></a>
-<span class="sourceLineNo">213</span> * are ongoing. Each row level operation obtains both a row lock and a region<a name="line.213"></a>
-<span class="sourceLineNo">214</span> * read lock for the duration of the operation. While a scanner is being<a name="line.214"></a>
-<span class="sourceLineNo">215</span> * constructed, getScanner holds a read lock. If the scanner is successfully<a name="line.215"></a>
-<span class="sourceLineNo">216</span> * constructed, it holds a read lock until it is closed. A close takes out a<a name="line.216"></a>
-<span class="sourceLineNo">217</span> * write lock and consequently will block for ongoing operations and will block<a name="line.217"></a>
-<span class="sourceLineNo">218</span> * new operations from starting while the close is in progress.<a name="line.218"></a>
-<span class="sourceLineNo">219</span> */<a name="line.219"></a>
-<span class="sourceLineNo">220</span>@SuppressWarnings("deprecation")<a name="line.220"></a>
-<span class="sourceLineNo">221</span>@InterfaceAudience.Private<a name="line.221"></a>
-<span class="sourceLineNo">222</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  private static final Logger LOG = LoggerFactory.getLogger(HRegion.class);<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  public static final String HBASE_MAX_CELL_SIZE_KEY = "hbase.server.keyvalue.maxsize";<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  public static final int DEFAULT_MAX_CELL_SIZE = 10485760;<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>  public static final String HBASE_REGIONSERVER_MINIBATCH_SIZE =<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      "hbase.regionserver.minibatch.size";<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public static final int DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE = 20000;<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>   * This is the global default value for durability. All tables/mutations not<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.241"></a>
-<span class="sourceLineNo">242</span><a name="line.242"></a>
-<span class="sourceLineNo">243</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * Once set, it is never cleared.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  final AtomicBoolean closing = new AtomicBoolean(false);<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>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * less that this sequence id.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<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>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * replication.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<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>  // Members<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  // map from a locked row to the context for that lock including:<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  // - CountDownLatch for threads waiting on that row<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  // - reference count of (reentrant) locks held by the thread<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  // - the row itself<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  protected final Map&lt;byte[], HStore&gt; stores =<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      new ConcurrentSkipListMap&lt;&gt;(Bytes.BYTES_RAWCOMPARATOR);<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private Map&lt;String, com.google.protobuf.Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  private final AtomicLong memstoreDataSize = new AtomicLong(0);// Track data size in all memstores<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private final RegionServicesForStores regionServicesForStores = new RegionServicesForStores(this);<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Debug possible data loss due to WAL off<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  final LongAdder numMutationsWithoutWAL = new LongAdder();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final LongAdder dataInMemoryWithoutWAL = new LongAdder();<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>  // Debug why CAS operations are taking a while.<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  final LongAdder checkAndMutateChecksPassed = new LongAdder();<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  final LongAdder checkAndMutateChecksFailed = new LongAdder();<a name="line.298"></a>
-<span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>  // Number of requests<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  // Count rows for scan<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  final LongAdder readRequestsCount = new LongAdder();<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  final LongAdder filteredReadRequestsCount = new LongAdder();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  // Count rows for multi row mutations<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  final LongAdder writeRequestsCount = new LongAdder();<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // Number of requests blocked by memstore size.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  private final LongAdder blockedRequestsCount = new LongAdder();<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // Compaction LongAdders<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  final LongAdder compactionsFinished = new LongAdder();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  final LongAdder compactionsFailed = new LongAdder();<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  final LongAdder compactionNumFilesCompacted = new LongAdder();<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  final LongAdder compactionNumBytesCompacted = new LongAdder();<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  final LongAdder compactionsQueued = new LongAdder();<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  final LongAdder flushesQueued = new LongAdder();<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>  private final WAL wal;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  private final HRegionFileSystem fs;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  protected final Configuration conf;<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  private final Configuration baseConf;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  private final int rowLockWaitDuration;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>  // The internal wait duration to acquire a lock before read/update<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  // we can release the IPC handler soon enough to improve the<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  // availability of the region server. It can be adjusted by<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  final long busyWaitDuration;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  // If updating multiple rows in one call, wait longer,<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  // we can limit the max multiplier.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  final int maxBusyWaitMultiplier;<a name="line.337"></a>
-<span class="sourceLineNo">338</span><a name="line.338"></a>
-<span class="sourceLineNo">339</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.339"></a>
-<span class="sourceLineNo">340</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  final long maxBusyWaitDuration;<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  // Max cell size. If nonzero, the maximum allowed size for any given cell<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  // in bytes<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  final long maxCellSize;<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // Number of mutations for minibatch processing.<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  private final int miniBatchSize;<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  // negative number indicates infinite timeout<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<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>   * The sequence ID that was enLongAddered when this region was opened.<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   */<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  private long openSeqNum = HConstants.NO_SEQNUM;<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>   * The default setting for whether to enable on-demand CF loading for<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * scan requests to this region. Requests can override it.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   */<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.365"></a>
-<span class="sourceLineNo">366</span><a name="line.366"></a>
-<span class="sourceLineNo">367</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<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>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  // are equal to or lower than maxSeqId for each store.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  // The following map is populated when opening the region<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>  /** Saved state from replaying prepare flush cache */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  // Used for testing.<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  private volatile Long timeoutForWriteLock = null;<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /**<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * region. Writes older than this readPoint, are included in every<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * read operation.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  public long getSmallestReadPoint() {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    long minimumReadPoint;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    synchronized (scannerReadPoints) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      for (Long readPoint : this.scannerReadPoints.values()) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>          minimumReadPoint = readPoint;<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>    return minimumReadPoint;<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>   * Data structure of write state flags used coordinating flushes,<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * compactions and closes.<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  static class WriteState {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    // Set while a memstore flush is happening.<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    volatile boolean flushing = false;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    // Set when a flush has been requested.<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    volatile boolean flushRequested = false;<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    // Number of compactions running.<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    volatile boolean writesEnabled = true;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    // Set if region is read-only<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    volatile boolean readOnly = false;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    volatile boolean readsEnabled = true;<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>     * Set flags that make this region read-only.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>     *<a name="line.428"></a>
-<span class="sourceLineNo">429</span>     * @param onOff flip value for region r/o setting<a name="line.429"></a>
-<span class="sourceLineNo">430</span>     */<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      this.writesEnabled = !onOff;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      this.readOnly = onOff;<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>    boolean isReadOnly() {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      return this.flushRequested;<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>    void setReadsEnabled(boolean readsEnabled) {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      this.readsEnabled = readsEnabled;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    }<a name="line.446"></a>
-<span class="sourceLineNo">447</span><a name="line.447"></a>
-<span class="sourceLineNo">448</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<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>  /**<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   * if it didn't flush.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   */<a name="line.457"></a>
-<span class="sourceLineNo">458</span>  public static class FlushResultImpl implements FlushResult {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    final Result result;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    final String failureReason;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    final long flushSequenceId;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    final boolean wroteFlushWalMarker;<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>    /**<a name="line.464"></a>
-<span class="sourceLineNo">465</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.465"></a>
-<span class="sourceLineNo">466</span>     * null.<a name="line.466"></a>
-<span class="sourceLineNo">467</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     *                        memstores.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      this(result, flushSequenceId, null, false);<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.473"></a>
-<span class="sourceLineNo">474</span>          .FLUSHED_COMPACTION_NEEDED;<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>     * Convenience constructor to use when we cannot flush.<a name="line.478"></a>
-<span class="sourceLineNo">479</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.479"></a>
-<span class="sourceLineNo">480</span>     * @param failureReason Reason why we couldn't flush.<a name="line.480"></a>
-<span class="sourceLineNo">481</span>     */<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    }<a name="line.485"></a>
-<span class="sourceLineNo">486</span><a name="line.486"></a>
-<span class="sourceLineNo">487</span>    /**<a name="line.487"></a>
-<span class="sourceLineNo">488</span>     * Constructor with all the parameters.<a name="line.488"></a>
-<span class="sourceLineNo">489</span>     * @param result Any of the Result.<a name="line.489"></a>
-<span class="sourceLineNo">490</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.490"></a>
-<span class="sourceLineNo">491</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.491"></a>
-<span class="sourceLineNo">492</span>     */<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      boolean wroteFlushMarker) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      this.result = result;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      this.flushSequenceId = flushSequenceId;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      this.failureReason = failureReason;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    }<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span>    /**<a name="line.501"></a>
-<span class="sourceLineNo">502</span>     * Convenience method, the equivalent of checking if result is<a name="line.502"></a>
-<span class="sourceLineNo">503</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>     * @return true if the memstores were flushed, else false.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>     */<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    @Override<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    public boolean isFlushSucceeded() {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          .FLUSHED_COMPACTION_NEEDED;<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>    /**<a name="line.512"></a>
-<span class="sourceLineNo">513</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.513"></a>
-<span class="sourceLineNo">514</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.514"></a>
-<span class="sourceLineNo">515</span>     */<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    @Override<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    public boolean isCompactionNeeded() {<a name="line.517"></a>
-<span class="sourceLineNo">518</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>    @Override<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    public String toString() {<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      return new StringBuilder()<a name="line.523"></a>
-<span class="sourceLineNo">524</span>        .append("flush result:").append(result).append(", ")<a name="line.524"></a>
-<span class="sourceLineNo">525</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.525"></a>
-<span class="sourceLineNo">526</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    public Result getResult() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      return result;<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    }<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>  /** A result object from prepare flush cache stage */<a name="line.535"></a>
-<span class="sourceLineNo">536</span>  @VisibleForTesting<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  static class PrepareFlushResult {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    final FlushResultImpl result; // indicating a failure result from prepare<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    final TreeMap&lt;byte[], MemStoreSize&gt; storeFlushableSize;<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    final long startTime;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    final long flushOpSeqId;<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    final long flushedSeqId;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    final MemStoreSizing totalFlushableSize;<a name="line.545"></a>
-<span class="sourceLineNo">546</span><a name="line.546"></a>
-<span class="sourceLineNo">547</span>    /** Constructs an early exit case */<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    PrepareFlushResult(FlushResultImpl result, long flushSeqId) {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, MemStoreSizing.DUD);<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>    /** Constructs a successful prepare flush result */<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    PrepareFlushResult(<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.554"></a>
-<span class="sourceLineNo">555</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      TreeMap&lt;byte[], MemStoreSize&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      long flushedSeqId, MemStoreSizing totalFlushableSize) {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.558"></a>
-<span class="sourceLineNo">559</span>        flushSeqId, flushedSeqId, totalFlushableSize);<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>    private PrepareFlushResult(<a name="line.562"></a>
-<span class="sourceLineNo">563</span>        FlushResultImpl result,<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      TreeMap&lt;byte[], MemStoreSize&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      long flushedSeqId, MemStoreSizing totalFlushableSize) {<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      this.result = result;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      this.committedFiles = committedFiles;<a name="line.570"></a>
-<span class="sourceLineNo">571</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>      this.startTime = startTime;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      this.flushOpSeqId = flushSeqId;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      this.flushedSeqId = flushedSeqId;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      this.totalFlushableSize = totalFlushableSize;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    }<a name="line.576"></a>
-<span class="sourceLineNo">577</span><a name="line.577"></a>
-<span class="sourceLineNo">578</span>    public FlushResult getResult() {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      return this.result;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  }<a name="line.581"></a>
-<span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * A class that tracks exceptions that have been observed in one batch. Not thread safe.<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   */<a name="line.585"></a>
-<span class="sourceLineNo">586</span>  static class ObservedExceptionsInBatch {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    private boolean wrongRegion = false;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    private boolean failedSanityCheck = false;<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    private boolean wrongFamily = false;<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>     * @return If a {@link WrongRegionException} has been observed.<a name="line.592"></a>
-<span class="sourceLineNo">593</span>     */<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    boolean hasSeenWrongRegion() {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      return wrongRegion;<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>    /**<a name="line.598"></a>
-<span class="sourceLineNo">599</span>     * Records that a {@link WrongRegionException} has been observed.<a name="line.599"></a>
-<span class="sourceLineNo">600</span>     */<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    void sawWrongRegion() {<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      wrongRegion = true;<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    }<a name="line.603"></a>
-<span class="sourceLineNo">604</span><a name="line.604"></a>
-<span class="sourceLineNo">605</span>    /**<a name="line.605"></a>
-<span class="sourceLineNo">606</span>     * @return If a {@link FailedSanityCheckException} has been observed.<a name="line.606"></a>
-<span class="sourceLineNo">607</span>     */<a name="line.607"></a>
-<span class="sourceLineNo">608</span>    boolean hasSeenFailedSanityCheck() {<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      return failedSanityCheck;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    }<a name="line.610"></a>
-<span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>    /**<a name="line.612"></a>
-<span class="sourceLineNo">613</span>     * Records that a {@link FailedSanityCheckException} has been observed.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>     */<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    void sawFailedSanityCheck() {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      failedSanityCheck = true;<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    }<a name="line.617"></a>
-<span class="sourceLineNo">618</span><a name="line.618"></a>
-<span class="sourceLineNo">619</span>    /**<a name="line.619"></a>
-<span class="sourceLineNo">620</span>     * @return If a {@link NoSuchColumnFamilyException} has been observed.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>     */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    boolean hasSeenNoSuchFamily() {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>      return wrongFamily;<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>    /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>     * Records that a {@link NoSuchColumnFamilyException} has been observed.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>     */<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    void sawNoSuchFamily() {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      wrongFamily = true;<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>  final WriteState writestate = new WriteState();<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span>  long memstoreFlushSize;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>  final long timestampSlop;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>  final long rowProcessorTimeout;<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.640"></a>
-<span class="sourceLineNo">641</span>  private final ConcurrentMap&lt;HStore, Long&gt; lastStoreFlushTimeMap = new ConcurrentHashMap&lt;&gt;();<a name="line.641"></a>
-<span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>  final RegionServerServices rsServices;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>  private RegionServerAccounting rsAccounting;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>  private long flushCheckInterval;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  private long flushPerChanges;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>  private long blockingMemStoreSize;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>  // Used to guard closes<a name="line.649"></a>
-<span class="sourceLineNo">650</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.650"></a>
-<span class="sourceLineNo">651</span><a name="line.651"></a>
-<span class="sourceLineNo">652</span>  // Stop updates lock<a name="line.652"></a>
-<span class="sourceLineNo">653</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>  private boolean splitRequest;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>  private byte[] explicitSplitPoint = null;<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>  // Coprocessor host<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.660"></a>
-<span class="sourceLineNo">661</span><a name="line.661"></a>
-<span class="sourceLineNo">662</span>  private TableDescriptor htableDescriptor = null;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>  private RegionSplitPolicy splitPolicy;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>  private FlushPolicy flushPolicy;<a name="line.664"></a>
-<span class="sourceLineNo">665</span><a name="line.665"></a>
-<span class="sourceLineNo">666</span>  private final MetricsRegion metricsRegion;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>  private final Durability regionDurability;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>  private final boolean regionStatsEnabled;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>  // Stores the replication scope of the various column families of the table<a name="line.670"></a>
-<span class="sourceLineNo">671</span>  // that has non-default scope<a name="line.671"></a>
-<span class="sourceLineNo">672</span>  private final NavigableMap&lt;byte[], Integer&gt; replicationScope = new TreeMap&lt;&gt;(<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      Bytes.BYTES_COMPARATOR);<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>   * HRegion constructor. This constructor should only be used for testing and<a name="line.676"></a>
-<span class="sourceLineNo">677</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.677"></a>
-<span class="sourceLineNo">678</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.678"></a>
-<span class="sourceLineNo">679</span>   *<a name="line.679"></a>
-<span class="sourceLineNo">680</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.680"></a>
-<span class="sourceLineNo">681</span>   * usually the table directory.<a name="line.681"></a>
-<span class="sourceLineNo">682</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.682"></a>
-<span class="sourceLineNo">683</span>   * The wal file is a logfile from the previous execution that's<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   * the supplied path.<a name="line.687"></a>
-<span class="sourceLineNo">688</span>   * @param fs is the filesystem.<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   * @param confParam is global configuration settings.<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   * @param regionInfo - RegionInfo that describes the region<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * is new), then read them from the supplied path.<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * @param htd the table descriptor<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @deprecated Use other constructors.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   */<a name="line.695"></a>
-<span class="sourceLineNo">696</span>  @Deprecated<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  @VisibleForTesting<a name="line.697"></a>
-<span class="sourceLineNo">698</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      final Configuration confParam, final RegionInfo regionInfo,<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      final TableDescriptor htd, final RegionServerServices rsServices) {<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      wal, confParam, htd, rsServices);<a name="line.702"></a>
-<span class="sourceLineNo">703</span>  }<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>  /**<a name="line.705"></a>
-<span class="sourceLineNo">706</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.706"></a>
-<span class="sourceLineNo">707</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.707"></a>
-<span class="sourceLineNo">708</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.708"></a>
-<span class="sourceLineNo">709</span>   *<a name="line.709"></a>
-<span class="sourceLineNo">710</span>   * @param fs is the filesystem.<a name="line.710"></a>
-<span class="sourceLineNo">711</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.711"></a>
-<span class="sourceLineNo">712</span>   * The wal file is a logfile from the previous execution that's<a name="line.712"></a>
-<span class="sourceLineNo">713</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.713"></a>
-<span class="sourceLineNo">714</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.714"></a>
-<span class="sourceLineNo">715</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   * the supplied path.<a name="line.716"></a>
-<span class="sourceLineNo">717</span>   * @param confParam is global configuration settings.<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * @param htd the table descriptor<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.719"></a>
-<span class="sourceLineNo">720</span>   */<a name="line.720"></a>
-<span class="sourceLineNo">721</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      final TableDescriptor htd, final RegionServerServices rsServices) {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    if (htd == null) {<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      throw new IllegalArgumentException("Need table descriptor");<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>    if (confParam instanceof CompoundConfiguration) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      throw new IllegalArgumentException("Need original base configuration");<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>    this.wal = wal;<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    this.fs = fs;<a name="line.732"></a>
-<span class="sourceLineNo">733</span><a name="line.733"></a>
-<span class="sourceLineNo">734</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    this.baseConf = confParam;<a name="line.735"></a>
-<span class="sourceLineNo">736</span>    this.conf = new CompoundConfiguration()<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      .add(confParam)<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      .addBytesMap(htd.getValues());<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.739"></a>
-<span class="sourceLineNo">740</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.743"></a>
-<span class="sourceLineNo">744</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>    }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.746"></a>
-<span class="sourceLineNo">747</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.747"></a>
-<span class="sourceLineNo">748</span><a name="line.748"></a>
-<span class="sourceLineNo">749</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    this.htableDescriptor = htd;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    Set&lt;byte[]&gt; families = this.htableDescriptor.getColumnFamilyNames();<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    for (byte[] family : families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      if (!replicationScope.containsKey(family)) {<a name="line.753"></a>
-<span class="sourceLineNo">754</span>        int scope = htd.getColumnFamily(family).getScope();<a name="line.754"></a>
-<span class="sourceLineNo">755</span>        // Only store those families that has NON-DEFAULT scope<a name="line.755"></a>
-<span class="sourceLineNo">756</span>        if (scope != REPLICATION_SCOPE_LOCAL) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>          // Do a copy before storing it here.<a name="line.757"></a>
-<span class="sourceLineNo">758</span>          replicationScope.put(Bytes.copy(family), scope);<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>    }<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    this.rsServices = rsServices;<a name="line.762"></a>
-<span class="sourceLineNo">763</span>    setHTableSpecificConf();<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;&gt;();<a name="line.764"></a>
-<span class="sourceLineNo">765</span><a name="line.765"></a>
-<span class="sourceLineNo">766</span>    this.busyWaitDuration = conf.getLong(<a name="line.766"></a>
-<span class="sourceLineNo">767</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.767"></a>
-<span class="sourceLineNo">768</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.768"></a>
-<span class="sourceLineNo">769</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.769"></a>
-<span class="sourceLineNo">770</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.770"></a>
-<span class="sourceLineNo">771</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.771"></a>
-<span class="sourceLineNo">772</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.772"></a>
-<span class="sourceLineNo">773</span>    }<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.774"></a>
-<span class="sourceLineNo">775</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.775"></a>
-<span class="sourceLineNo">776</span><a name="line.776"></a>
-<span class="sourceLineNo">777</span>    /*<a name="line.777"></a>
-<span class="sourceLineNo">778</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.778"></a>
-<span class="sourceLineNo">779</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.779"></a>
-<span class="sourceLineNo">780</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.780"></a>
-<span class="sourceLineNo">781</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.781"></a>
-<span class="sourceLineNo">782</span>     */<a name="line.782"></a>
-<span class="sourceLineNo">783</span>    this.timestampSlop = conf.getLong(<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.784"></a>
-<span class="sourceLineNo">785</span>        HConstants.LATEST_TIMESTAMP);<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>     * Timeout for the process time in processRowsWithLocks().<a name="line.788"></a>
-<span class="sourceLineNo">789</span>     * Use -1 to switch off time bound.<a name="line.789"></a>
-<span class="sourceLineNo">790</span>     */<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.791"></a>
-<span class="sourceLineNo">792</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.792"></a>
-<span class="sourceLineNo">793</span>    this.regionDurability = htd.getDurability() == Durability.USE_DEFAULT ?<a name="line.793"></a>
-<span class="sourceLineNo">794</span>        DEFAULT_DURABILITY : htd.getDurability();<a name="line.794"></a>
-<span class="sourceLineNo">795</span>    if (rsServices != null) {<a name="line.795"></a>
-<span class="sourceLineNo">796</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.798"></a>
-<span class="sourceLineNo">799</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    } else {<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      this.metricsRegionWrapper = null;<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      this.metricsRegion = null;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>    }<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    if (LOG.isDebugEnabled()) {<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      // Write out region name as string and its encoded name.<a name="line.807"></a>
-<span class="sourceLineNo">808</span>      LOG.debug("Instantiated " + this);<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>    configurationManager = Optional.empty();<a name="line.811"></a>
-<span class="sourceLineNo">812</span><a name="line.812"></a>
-<span class="sourceLineNo">813</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.814"></a>
-<span class="sourceLineNo">815</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.815"></a>
-<span class="sourceLineNo">816</span>          false :<a name="line.816"></a>
-<span class="sourceLineNo">817</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.817"></a>
-<span class="sourceLineNo">818</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    this.maxCellSize = conf.getLong(HBASE_MAX_CELL_SIZE_KEY, DEFAULT_MAX_CELL_SIZE);<a name="line.820"></a>
-<span class="sourceLineNo">821</span>    this.miniBatchSize = conf.getInt(HBASE_REGIONSERVER_MINIBATCH_SIZE,<a name="line.821"></a>
-<span class="sourceLineNo">822</span>        DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE);<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>  void setHTableSpecificConf() {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    if (this.htableDescriptor == null) return;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    if (flushSize &lt;= 0) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.830"></a>
-<span class="sourceLineNo">831</span>        TableDescriptorBuilder.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.831"></a>
-<span class="sourceLineNo">832</span>    }<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    this.memstoreFlushSize = flushSize;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.834"></a>
-<span class="sourceLineNo">835</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.835"></a>
-<span class="sourceLineNo">836</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<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>   * Initialize this region.<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   * You should use createHRegion() or openHRegion()<a name="line.842"></a>
-<span class="sourceLineNo">843</span>   * @return What the next sequence (edit) id should be.<a name="line.843"></a>
-<span class="sourceLineNo">844</span>   * @throws IOException e<a name="line.844"></a>
-<span class="sourceLineNo">845</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.845"></a>
-<span class="sourceLineNo">846</span>   */<a name="line.846"></a>
-<span class="sourceLineNo">847</span>  @Deprecated<a name="line.847"></a>
-<span class="sourceLineNo">848</span>  public long initialize() throws IOException {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>    return initialize(null);<a name="line.849"></a>
-<span class="sourceLineNo">850</span>  }<a name="line.850"></a>
-<span class="sourceLineNo">851</span><a name="line.851"></a>
-<span class="sourceLineNo">852</span>  /**<a name="line.852"></a>
-<span class="sourceLineNo">853</span>   * Initialize this region.<a name="line.853"></a>
-<span class="sourceLineNo">854</span>   *<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.855"></a>
-<span class="sourceLineNo">856</span>   * @return What the next sequence (edit) id should be.<a name="line.856"></a>
-<span class="sourceLineNo">857</span>   * @throws IOException e<a name="line.857"></a>
-<span class="sourceLineNo">858</span>   */<a name="line.858"></a>
-<span class="sourceLineNo">859</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.859"></a>
-<span class="sourceLineNo">860</span><a name="line.860"></a>
-<span class="sourceLineNo">861</span>    //Refuse to open the region if there is no column family in the table<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (htableDescriptor.getColumnFamilyCount() == 0) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      throw new DoNotRetryIOException("Table " + htableDescriptor.getTableName().getNameAsString()+<a name="line.863"></a>
-<span class="sourceLineNo">864</span>          " should have at least one column family.");<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    }<a name="line.865"></a>
-<span class="sourceLineNo">866</span><a name="line.866"></a>
-<span class="sourceLineNo">867</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.867"></a>
-<span class="sourceLineNo">868</span>    long nextSeqId = -1;<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    try {<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      return nextSeqId;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    } finally {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.873"></a>
-<span class="sourceLineNo">874</span>      // At least it will be 0 otherwise.<a name="line.874"></a>
-<span class="sourceLineNo">875</span>      if (nextSeqId == -1) {<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.876"></a>
-<span class="sourceLineNo">877</span>          " initiali

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 b05cc00..c352c2f 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
@@ -271,555 +271,561 @@
 <span class="sourceLineNo">263</span>    return Flow.HAS_MORE_STATE;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>  }<a name="line.264"></a>
 <span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  @Override<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  protected void rollbackState(final MasterProcedureEnv env, final SplitTableRegionState state)<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      throws IOException, InterruptedException {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    if (isTraceEnabled()) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      LOG.trace(this + " rollback state=" + state);<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>    try {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      switch (state) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      case SPLIT_TABLE_REGION_POST_OPERATION:<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      case SPLIT_TABLE_REGION_OPEN_CHILD_REGIONS:<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      case SPLIT_TABLE_REGION_PRE_OPERATION_AFTER_META:<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      case SPLIT_TABLE_REGION_UPDATE_META:<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        // PONR<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      case SPLIT_TABLE_REGION_PRE_OPERATION_BEFORE_META:<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        break;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      case SPLIT_TABLE_REGION_CREATE_DAUGHTER_REGIONS:<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        // Doing nothing, as re-open parent region would clean up daughter region directories.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        break;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      case SPLIT_TABLE_REGION_CLOSE_PARENT_REGION:<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        openParentRegion(env);<a name="line.287"></a>
+<span class="sourceLineNo">266</span>  /**<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   * To rollback {@link SplitTableRegionProcedure}, an AssignProcedure is asynchronously<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * submitted for parent region to be split (rollback doesn't wait on the completion of the<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * AssignProcedure) . This can be improved by changing rollback() to support sub-procedures.<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * See HBASE-19851 for details.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  @Override<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  protected void rollbackState(final MasterProcedureEnv env, final SplitTableRegionState state)<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      throws IOException, InterruptedException {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    if (isTraceEnabled()) {<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      LOG.trace(this + " rollback state=" + state);<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>    try {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      switch (state) {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      case SPLIT_TABLE_REGION_POST_OPERATION:<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      case SPLIT_TABLE_REGION_OPEN_CHILD_REGIONS:<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      case SPLIT_TABLE_REGION_PRE_OPERATION_AFTER_META:<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      case SPLIT_TABLE_REGION_UPDATE_META:<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        // PONR<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      case SPLIT_TABLE_REGION_PRE_OPERATION_BEFORE_META:<a name="line.287"></a>
 <span class="sourceLineNo">288</span>        break;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      case SPLIT_TABLE_REGION_PRE_OPERATION:<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        postRollBackSplitRegion(env);<a name="line.290"></a>
+<span class="sourceLineNo">289</span>      case SPLIT_TABLE_REGION_CREATE_DAUGHTER_REGIONS:<a name="line.289"></a>
+<span class="sourceLineNo">290</span>        // Doing nothing, as re-open parent region would clean up daughter region directories.<a name="line.290"></a>
 <span class="sourceLineNo">291</span>        break;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      case SPLIT_TABLE_REGION_PREPARE:<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        break; // nothing to do<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      default:<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    } catch (IOException e) {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      // This will be retried. Unless there is a bug in the code,<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      // this should be just a "temporary error" (e.g. network down)<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      LOG.warn("pid=" + getProcId() + " failed rollback attempt step " + state +<a name="line.300"></a>
-<span class="sourceLineNo">301</span>          " for splitting the region "<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        + getParentRegion().getEncodedName() + " in table " + getTableName(), e);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      throw e;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  /*<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * Check whether we are in the state that can be rollback<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   */<a name="line.309"></a>
-<span class="sourceLineNo">310</span>  @Override<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  protected boolean isRollbackSupported(final SplitTableRegionState state) {<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    switch (state) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      case SPLIT_TABLE_REGION_POST_OPERATION:<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      case SPLIT_TABLE_REGION_OPEN_CHILD_REGIONS:<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      case SPLIT_TABLE_REGION_PRE_OPERATION_AFTER_META:<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      case SPLIT_TABLE_REGION_UPDATE_META:<a name="line.316"></a>
-<span class="sourceLineNo">317</span>        // It is not safe to rollback if we reach to these states.<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        return false;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      default:<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        break;<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    }<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    return true;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>  @Override<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  protected SplitTableRegionState getState(final int stateId) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    return SplitTableRegionState.forNumber(stateId);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  @Override<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  protected int getStateId(final SplitTableRegionState state) {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    return state.getNumber();<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  protected SplitTableRegionState getInitialState() {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    return SplitTableRegionState.SPLIT_TABLE_REGION_PREPARE;<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  protected void serializeStateData(ProcedureStateSerializer serializer)<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      throws IOException {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    super.serializeStateData(serializer);<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>    final MasterProcedureProtos.SplitTableRegionStateData.Builder splitTableRegionMsg =<a name="line.345"></a>
-<span class="sourceLineNo">346</span>        MasterProcedureProtos.SplitTableRegionStateData.newBuilder()<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        .setUserInfo(MasterProcedureUtil.toProtoUserInfo(getUser()))<a name="line.347"></a>
-<span class="sourceLineNo">348</span>        .setParentRegionInfo(ProtobufUtil.toRegionInfo(getRegion()))<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        .addChildRegionInfo(ProtobufUtil.toRegionInfo(daughter_1_RI))<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        .addChildRegionInfo(ProtobufUtil.toRegionInfo(daughter_2_RI));<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    serializer.serialize(splitTableRegionMsg.build());<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  }<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  @Override<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  protected void deserializeStateData(ProcedureStateSerializer serializer)<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      throws IOException {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    super.deserializeStateData(serializer);<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>    final MasterProcedureProtos.SplitTableRegionStateData splitTableRegionsMsg =<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        serializer.deserialize(MasterProcedureProtos.SplitTableRegionStateData.class);<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    setUser(MasterProcedureUtil.toUserInfo(splitTableRegionsMsg.getUserInfo()));<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    setRegion(ProtobufUtil.toRegionInfo(splitTableRegionsMsg.getParentRegionInfo()));<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    assert(splitTableRegionsMsg.getChildRegionInfoCount() == 2);<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    daughter_1_RI = ProtobufUtil.toRegionInfo(splitTableRegionsMsg.getChildRegionInfo(0));<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    daughter_2_RI = ProtobufUtil.toRegionInfo(splitTableRegionsMsg.getChildRegionInfo(1));<a name="line.365"></a>
-<span class="sourceLineNo">366</span>  }<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>  @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    sb.append(getClass().getSimpleName());<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    sb.append(" table=");<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    sb.append(getTableName());<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    sb.append(", parent=");<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    sb.append(getParentRegion().getShortNameToLog());<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    sb.append(", daughterA=");<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    sb.append(daughter_1_RI.getShortNameToLog());<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    sb.append(", daughterB=");<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    sb.append(daughter_2_RI.getShortNameToLog());<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  }<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>  private RegionInfo getParentRegion() {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    return getRegion();<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>  @Override<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  public TableOperationType getTableOperationType() {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    return TableOperationType.REGION_SPLIT;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  }<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>  @Override<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  protected ProcedureMetrics getProcedureMetrics(MasterProcedureEnv env) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    return env.getAssignmentManager().getAssignmentManagerMetrics().getSplitProcMetrics();<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>  private byte[] getSplitRow() {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    return daughter_2_RI.getStartKey();<a name="line.396"></a>
-<span class="sourceLineNo">397</span>  }<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>  private static State [] EXPECTED_SPLIT_STATES = new State [] {State.OPEN, State.CLOSED};<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  /**<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * Prepare to Split region.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * @param env MasterProcedureEnv<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   * @throws IOException<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   */<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  @VisibleForTesting<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  public boolean prepareSplitRegion(final MasterProcedureEnv env) throws IOException {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    // Check whether the region is splittable<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    RegionStateNode node =<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        env.getAssignmentManager().getRegionStates().getRegionStateNode(getParentRegion());<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>    if (node == null) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      throw new UnknownRegionException(getParentRegion().getRegionNameAsString());<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>    RegionInfo parentHRI = node.getRegionInfo();<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    // Lookup the parent HRI state from the AM, which has the latest updated info.<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    // Protect against the case where concurrent SPLIT requests came in and succeeded<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    // just before us.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    if (node.isInState(State.SPLIT)) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      LOG.info("Split of " + parentHRI + " skipped; state is already SPLIT");<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      return false;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    if (parentHRI.isSplit() || parentHRI.isOffline()) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      LOG.info("Split of " + parentHRI + " skipped because offline/split.");<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      return false;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    }<a name="line.426"></a>
-<span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>    // expected parent to be online or closed<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    if (!node.isInState(EXPECTED_SPLIT_STATES)) {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      // We may have SPLIT already?<a name="line.430"></a>
-<span class="sourceLineNo">431</span>      setFailure(new IOException("Split " + parentHRI.getRegionNameAsString() +<a name="line.431"></a>
-<span class="sourceLineNo">432</span>          " FAILED because state=" + node.getState() + "; expected " +<a name="line.432"></a>
-<span class="sourceLineNo">433</span>          Arrays.toString(EXPECTED_SPLIT_STATES)));<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      return false;<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    }<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>    // Since we have the lock and the master is coordinating the operation<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    // we are always able to split the region<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    if (!env.getMasterServices().isSplitOrMergeEnabled(MasterSwitchType.SPLIT)) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      LOG.warn("pid=" + getProcId() + " split switch is off! skip split of " + parentHRI);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      setFailure(new IOException("Split region " +<a name="line.441"></a>
-<span class="sourceLineNo">442</span>          (parentHRI == null? "null": parentHRI.getRegionNameAsString()) +<a name="line.442"></a>
-<span class="sourceLineNo">443</span>          " failed due to split switch off"));<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      return false;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>    // set node state as SPLITTING<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    node.setState(State.SPLITTING);<a name="line.448"></a>
-<span class="sourceLineNo">449</span><a name="line.449"></a>
-<span class="sourceLineNo">450</span>    return true;<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  }<a name="line.451"></a>
+<span class="sourceLineNo">292</span>      case SPLIT_TABLE_REGION_CLOSE_PARENT_REGION:<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        openParentRegion(env);<a name="line.293"></a>
+<span class="sourceLineNo">294</span>        break;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      case SPLIT_TABLE_REGION_PRE_OPERATION:<a name="line.295"></a>
+<span class="sourceLineNo">296</span>        postRollBackSplitRegion(env);<a name="line.296"></a>
+<span class="sourceLineNo">297</span>        break;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>      case SPLIT_TABLE_REGION_PREPARE:<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        break; // nothing to do<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      default:<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      }<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    } catch (IOException e) {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      // This will be retried. Unless there is a bug in the code,<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      // this should be just a "temporary error" (e.g. network down)<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      LOG.warn("pid=" + getProcId() + " failed rollback attempt step " + state +<a name="line.306"></a>
+<span class="sourceLineNo">307</span>          " for splitting the region "<a name="line.307"></a>
+<span class="sourceLineNo">308</span>        + getParentRegion().getEncodedName() + " in table " + getTableName(), e);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      throw e;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    }<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  }<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  /*<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * Check whether we are in the state that can be rollback<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   */<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  protected boolean isRollbackSupported(final SplitTableRegionState state) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    switch (state) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      case SPLIT_TABLE_REGION_POST_OPERATION:<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      case SPLIT_TABLE_REGION_OPEN_CHILD_REGIONS:<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      case SPLIT_TABLE_REGION_PRE_OPERATION_AFTER_META:<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      case SPLIT_TABLE_REGION_UPDATE_META:<a name="line.322"></a>
+<span class="sourceLineNo">323</span>        // It is not safe to rollback if we reach to these states.<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        return false;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      default:<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        break;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    return true;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>  @Override<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  protected SplitTableRegionState getState(final int stateId) {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    return SplitTableRegionState.forNumber(stateId);<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  }<a name="line.334"></a>
+<span class="sourceLineNo">335</span><a name="line.335"></a>
+<span class="sourceLineNo">336</span>  @Override<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  protected int getStateId(final SplitTableRegionState state) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    return state.getNumber();<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>  @Override<a name="line.341"></a>
+<span class="sourceLineNo">342</span>  protected SplitTableRegionState getInitialState() {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    return SplitTableRegionState.SPLIT_TABLE_REGION_PREPARE;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>  }<a name="line.344"></a>
+<span class="sourceLineNo">345</span><a name="line.345"></a>
+<span class="sourceLineNo">346</span>  @Override<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  protected void serializeStateData(ProcedureStateSerializer serializer)<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      throws IOException {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    super.serializeStateData(serializer);<a name="line.349"></a>
+<span class="sourceLineNo">350</span><a name="line.350"></a>
+<span class="sourceLineNo">351</span>    final MasterProcedureProtos.SplitTableRegionStateData.Builder splitTableRegionMsg =<a name="line.351"></a>
+<span class="sourceLineNo">352</span>        MasterProcedureProtos.SplitTableRegionStateData.newBuilder()<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        .setUserInfo(MasterProcedureUtil.toProtoUserInfo(getUser()))<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        .setParentRegionInfo(ProtobufUtil.toRegionInfo(getRegion()))<a name="line.354"></a>
+<span class="sourceLineNo">355</span>        .addChildRegionInfo(ProtobufUtil.toRegionInfo(daughter_1_RI))<a name="line.355"></a>
+<span class="sourceLineNo">356</span>        .addChildRegionInfo(ProtobufUtil.toRegionInfo(daughter_2_RI));<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    serializer.serialize(splitTableRegionMsg.build());<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>  @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  protected void deserializeStateData(ProcedureStateSerializer serializer)<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      throws IOException {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    super.deserializeStateData(serializer);<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span>    final MasterProcedureProtos.SplitTableRegionStateData splitTableRegionsMsg =<a name="line.365"></a>
+<span class="sourceLineNo">366</span>        serializer.deserialize(MasterProcedureProtos.SplitTableRegionStateData.class);<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    setUser(MasterProcedureUtil.toUserInfo(splitTableRegionsMsg.getUserInfo()));<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    setRegion(ProtobufUtil.toRegionInfo(splitTableRegionsMsg.getParentRegionInfo()));<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    assert(splitTableRegionsMsg.getChildRegionInfoCount() == 2);<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    daughter_1_RI = ProtobufUtil.toRegionInfo(splitTableRegionsMsg.getChildRegionInfo(0));<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    daughter_2_RI = ProtobufUtil.toRegionInfo(splitTableRegionsMsg.getChildRegionInfo(1));<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  }<a name="line.372"></a>
+<span class="sourceLineNo">373</span><a name="line.373"></a>
+<span class="sourceLineNo">374</span>  @Override<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    sb.append(getClass().getSimpleName());<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    sb.append(" table=");<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    sb.append(getTableName());<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    sb.append(", parent=");<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    sb.append(getParentRegion().getShortNameToLog());<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    sb.append(", daughterA=");<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    sb.append(daughter_1_RI.getShortNameToLog());<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    sb.append(", daughterB=");<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    sb.append(daughter_2_RI.getShortNameToLog());<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>  private RegionInfo getParentRegion() {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    return getRegion();<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>  @Override<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  public TableOperationType getTableOperationType() {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    return TableOperationType.REGION_SPLIT;<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>  @Override<a name="line.396"></a>
+<span class="sourceLineNo">397</span>  protected ProcedureMetrics getProcedureMetrics(MasterProcedureEnv env) {<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    return env.getAssignmentManager().getAssignmentManagerMetrics().getSplitProcMetrics();<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
+<span class="sourceLineNo">400</span><a name="line.400"></a>
+<span class="sourceLineNo">401</span>  private byte[] getSplitRow() {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    return daughter_2_RI.getStartKey();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>  private static State [] EXPECTED_SPLIT_STATES = new State [] {State.OPEN, State.CLOSED};<a name="line.405"></a>
+<span class="sourceLineNo">406</span>  /**<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   * Prepare to Split region.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * @param env MasterProcedureEnv<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * @throws IOException<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   */<a name="line.410"></a>
+<span class="sourceLineNo">411</span>  @VisibleForTesting<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  public boolean prepareSplitRegion(final MasterProcedureEnv env) throws IOException {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    // Check whether the region is splittable<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    RegionStateNode node =<a name="line.414"></a>
+<span class="sourceLineNo">415</span>        env.getAssignmentManager().getRegionStates().getRegionStateNode(getParentRegion());<a name="line.415"></a>
+<span class="sourceLineNo">416</span><a name="line.416"></a>
+<span class="sourceLineNo">417</span>    if (node == null) {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      throw new UnknownRegionException(getParentRegion().getRegionNameAsString());<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
+<span class="sourceLineNo">420</span><a name="line.420"></a>
+<span class="sourceLineNo">421</span>    RegionInfo parentHRI = node.getRegionInfo();<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    // Lookup the parent HRI state from the AM, which has the latest updated info.<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    // Protect against the case where concurrent SPLIT requests came in and succeeded<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    // just before us.<a name="line.424"></a>
+<span class="sourceLineNo">425</span>    if (node.isInState(State.SPLIT)) {<a name="line.425"></a>
+<span class="sourceLineNo">426</span>      LOG.info("Split of " + parentHRI + " skipped; state is already SPLIT");<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      return false;<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    }<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    if (parentHRI.isSplit() || parentHRI.isOffline()) {<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      LOG.info("Split of " + parentHRI + " skipped because offline/split.");<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      return false;<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    }<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>    // expected parent to be online or closed<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    if (!node.isInState(EXPECTED_SPLIT_STATES)) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      // We may have SPLIT already?<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      setFailure(new IOException("Split " + parentHRI.getRegionNameAsString() +<a name="line.437"></a>
+<span class="sourceLineNo">438</span>          " FAILED because state=" + node.getState() + "; expected " +<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          Arrays.toString(EXPECTED_SPLIT_STATES)));<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      return false;<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    }<a name="line.441"></a>
+<span class="sourceLineNo">442</span><a name="line.442"></a>
+<span class="sourceLineNo">443</span>    // Since we have the lock and the master is coordinating the operation<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    // we are always able to split the region<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    if (!env.getMasterServices().isSplitOrMergeEnabled(MasterSwitchType.SPLIT)) {<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      LOG.warn("pid=" + getProcId() + " split switch is off! skip split of " + parentHRI);<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      setFailure(new IOException("Split region " +<a name="line.447"></a>
+<span class="sourceLineNo">448</span>          (parentHRI == null? "null": parentHRI.getRegionNameAsString()) +<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          " failed due to split switch off"));<a name="line.449"></a>
+<span class="sourceLineNo">450</span>      return false;<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    }<a name="line.451"></a>
 <span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * Action before splitting region in a table.<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   * @param env MasterProcedureEnv<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   * @throws IOException<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   * @throws InterruptedException<a name="line.457"></a>
-<span class="sourceLineNo">458</span>   */<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  private void preSplitRegion(final MasterProcedureEnv env)<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      throws IOException, InterruptedException {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    if (cpHost != null) {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      cpHost.preSplitRegionAction(getTableName(), getSplitRow(), getUser());<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>    // TODO: Clean up split and merge. Currently all over the place.<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    // Notify QuotaManager and RegionNormalizer<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    try {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      env.getMasterServices().getMasterQuotaManager().onRegionSplit(this.getParentRegion());<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    } catch (QuotaExceededException e) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      env.getAssignmentManager().getRegionNormalizer().planSkipped(this.getParentRegion(),<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          NormalizationPlan.PlanType.SPLIT);<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      throw e;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    }<a name="line.474"></a>
-<span class="sourceLineNo">475</span>  }<a name="line.475"></a>
-<span class="sourceLineNo">476</span><a name="line.476"></a>
-<span class="sourceLineNo">477</span>  /**<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * Action after rollback a split table region action.<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * @param env MasterProcedureEnv<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @throws IOException<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   */<a name="line.481"></a>
-<span class="sourceLineNo">482</span>  private void postRollBackSplitRegion(final MasterProcedureEnv env) throws IOException {<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    if (cpHost != null) {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      cpHost.postRollBackSplitRegionAction(getUser());<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    }<a name="line.486"></a>
-<span class="sourceLineNo">487</span>  }<a name="line.487"></a>
-<span class="sourceLineNo">488</span><a name="line.488"></a>
-<span class="sourceLineNo">489</span>  /**<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   * Rollback close parent region<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   * @param env MasterProcedureEnv<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   **/<a name="line.492"></a>
-<span class="sourceLineNo">493</span>  private void openParentRegion(final MasterProcedureEnv env) throws IOException {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    // Check whether the region is closed; if so, open it in the same server<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    final int regionReplication = getRegionReplication(env);<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    final ServerName serverName = getParentRegionServerName(env);<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    final AssignProcedure[] procs = new AssignProcedure[regionReplication];<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    for (int i = 0; i &lt; regionReplication; ++i) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      final RegionInfo hri = RegionReplicaUtil.getRegionInfoForReplica(getParentRegion(), i);<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      procs[i] = env.getAssignmentManager().createAssignProcedure(hri, serverName);<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    }<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    env.getMasterServices().getMasterProcedureExecutor().submitProcedures(procs);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>  }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>  /**<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   * Create daughter regions<a name="line.507"></a>
-<span class="sourceLineNo">508</span>   * @param env MasterProcedureEnv<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   * @throws IOException<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   */<a name="line.510"></a>
-<span class="sourceLineNo">511</span>  @VisibleForTesting<a name="line.511"></a>
-<span class="sourceLineNo">512</span>  public void createDaughterRegions(final MasterProcedureEnv env) throws IOException {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    final MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    final Path tabledir = FSUtils.getTableDir(mfs.getRootDir(), getTableName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    final FileSystem fs = mfs.getFileSystem();<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    HRegionFileSystem regionFs = HRegionFileSystem.openRegionFromFileSystem(<a name="line.516"></a>
-<span class="sourceLineNo">517</span>      env.getMasterConfiguration(), fs, tabledir, getParentRegion(), false);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    regionFs.createSplitsDir();<a name="line.518"></a>
-<span class="sourceLineNo">519</span><a name="line.519"></a>
-<span class="sourceLineNo">520</span>    Pair&lt;Integer, Integer&gt; expectedReferences = splitStoreFiles(env, regionFs);<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span>    assertReferenceFileCount(fs, expectedReferences.getFirst(),<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      regionFs.getSplitsDir(daughter_1_RI));<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    //Move the files from the temporary .splits to the final /table/region directory<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    regionFs.commitDaughterRegion(daughter_1_RI);<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    assertReferenceFileCount(fs, expectedReferences.getFirst(),<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      new Path(tabledir, daughter_1_RI.getEncodedName()));<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    assertReferenceFileCount(fs, expectedReferences.getSecond(),<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      regionFs.getSplitsDir(daughter_2_RI));<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    regionFs.commitDaughterRegion(daughter_2_RI);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    assertReferenceFileCount(fs, expectedReferences.getSecond(),<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      new Path(tabledir, daughter_2_RI.getEncodedName()));<a name="line.533"></a>
-<span class="sourceLineNo">534</span>  }<a name="line.534"></a>
-<span class="sourceLineNo">535</span><a name="line.535"></a>
-<span class="sourceLineNo">536</span>  /**<a name="line.536"></a>
-<span class="sourceLineNo">537</span>   * Create Split directory<a name="line.537"></a>
-<span class="sourceLineNo">538</span>   * @param env MasterProcedureEnv<a name="line.538"></a>
-<span class="sourceLineNo">539</span>   * @throws IOException<a name="line.539"></a>
-<span class="sourceLineNo">540</span>   */<a name="line.540"></a>
-<span class="sourceLineNo">541</span>  private Pair&lt;Integer, Integer&gt; splitStoreFiles(final MasterProcedureEnv env,<a name="line.541"></a>
-<span class="sourceLineNo">542</span>      final HRegionFileSystem regionFs) throws IOException {<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    final MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    final Configuration conf = env.getMasterConfiguration();<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    // The following code sets up a thread pool executor with as many slots as<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    // there's files to split. It then fires up everything, waits for<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    // completion and finally checks for any exception<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    //<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    // Note: splitStoreFiles creates daughter region dirs under the parent splits dir<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    // Nothing to unroll here if failure -- re-run createSplitsDir will<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    // clean this up.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    int nbFiles = 0;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    final Map&lt;String, Collection&lt;StoreFileInfo&gt;&gt; files =<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      new HashMap&lt;String, Collection&lt;StoreFileInfo&gt;&gt;(regionFs.getFamilies().size());<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    for (String family: regionFs.getFamilies()) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      Collection&lt;StoreFileInfo&gt; sfis = regionFs.getStoreFiles(family);<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      if (sfis == null) continue;<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      Collection&lt;StoreFileInfo&gt; filteredSfis = null;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>      for (StoreFileInfo sfi: sfis) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>        // Filter. There is a lag cleaning up compacted reference files. They get cleared<a name="line.560"></a>
-<span class="sourceLineNo">561</span>        // after a delay in case outstanding Scanners still have references. Because of this,<a name="line.561"></a>
-<span class="sourceLineNo">562</span>        // the listing of the Store content may have straggler reference files. Skip these.<a name="line.562"></a>
-<span class="sourceLineNo">563</span>        // It should be safe to skip references at this point because we checked above with<a name="line.563"></a>
-<span class="sourceLineNo">564</span>        // the region if it thinks it is splittable and if we are here, it thinks it is<a name="line.564"></a>
-<span class="sourceLineNo">565</span>        // splitable.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>        if (sfi.isReference()) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>          LOG.info("Skipping split of " + sfi + "; presuming ready for archiving.");<a name="line.567"></a>
-<span class="sourceLineNo">568</span>          continue;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>        }<a name="line.569"></a>
-<span class="sourceLineNo">570</span>        if (filteredSfis == null) {<a name="line.570"></a>
-<span class="sourceLineNo">571</span>          filteredSfis = new ArrayList&lt;StoreFileInfo&gt;(sfis.size());<a name="line.571"></a>
-<span class="sourceLineNo">572</span>          files.put(family, filteredSfis);<a name="line.572"></a>
-<span class="sourceLineNo">573</span>        }<a name="line.573"></a>
-<span class="sourceLineNo">574</span>        filteredSfis.add(sfi);<a name="line.574"></a>
-<span class="sourceLineNo">575</span>        nbFiles++;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      }<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    }<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    if (nbFiles == 0) {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      // no file needs to be splitted.<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      return new Pair&lt;Integer, Integer&gt;(0,0);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    // Max #threads is the smaller of the number of storefiles or the default max determined above.<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    int maxThreads = Math.min(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      conf.getInt(HConstants.REGION_SPLIT_THREADS_MAX,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        conf.getInt(HStore.BLOCKING_STOREFILES_KEY, HStore.DEFAULT_BLOCKING_STOREFILE_COUNT)),<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      nbFiles);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    LOG.info("pid=" + getProcId() + " splitting " + nbFiles + " storefiles, region=" +<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      getParentRegion().getShortNameToLog() + ", threads=" + maxThreads);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    final ExecutorService threadPool = Executors.newFixedThreadPool(<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      maxThreads, Threads.getNamedThreadFactory("StoreFileSplitter-%1$d"));<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    final List&lt;Future&lt;Pair&lt;Path,Path&gt;&gt;&gt; futures = new ArrayList&lt;Future&lt;Pair&lt;Path,Path&gt;&gt;&gt;(nbFiles);<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>    // Split each store file.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    final TableDescriptor htd = env.getMasterServices().getTableDescriptors().get(getTableName());<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    for (Map.Entry&lt;String, Collection&lt;StoreFileInfo&gt;&gt;e: files.entrySet()) {<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      byte [] familyName = Bytes.toBytes(e.getKey());<a name="line.596"></a>
-<span class="sourceLineNo">597</span>      final ColumnFamilyDescriptor hcd = htd.getColumnFamily(familyName);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      final Collection&lt;StoreFileInfo&gt; storeFiles = e.getValue();<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      if (storeFiles != null &amp;&amp; storeFiles.size() &gt; 0) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>        final CacheConfig cacheConf = new CacheConfig(conf, hcd);<a name="line.600"></a>
-<span class="sourceLineNo">601</span>        for (StoreFileInfo storeFileInfo: storeFiles) {<a name="line.601"></a>
-<span class="sourceLineNo">602</span>          StoreFileSplitter sfs =<a name="line.602"></a>
-<span class="sourceLineNo">603</span>              new StoreFileSplitter(regionFs, familyName, new HStoreFile(mfs.getFileSystem(),<a name="line.603"></a>
-<span class="sourceLineNo">604</span>                  storeFileInfo, conf, cacheConf, hcd.getBloomFilterType(), true));<a name="line.604"></a>
-<span class="sourceLineNo">605</span>          futures.add(threadPool.submit(sfs));<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>    // Shutdown the pool<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    threadPool.shutdown();<a name="line.610"></a>
-<span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>    // Wait for all the tasks to finish.<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    // When splits ran on the RegionServer, how-long-to-wait-configuration was named<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    // hbase.regionserver.fileSplitTimeout. If set, use its value.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    long fileSplitTimeout = conf.getLong("hbase.master.fileSplitTimeout",<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        conf.getLong("hbase.regionserver.fileSplitTimeout", 600000));<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    try {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      boolean stillRunning = !threadPool.awaitTermination(fileSplitTimeout, TimeUnit.MILLISECONDS);<a name="line.618"></a>
-<span class="sourceLineNo">619</span>      if (stillRunning) {<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        threadPool.shutdownNow();<a name="line.620"></a>
-<span class="sourceLineNo">621</span>        // wait for the thread to shutdown completely.<a name="line.621"></a>
-<span class="sourceLineNo">622</span>        while (!threadPool.isTerminated()) {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>          Thread.sleep(50);<a name="line.623"></a>
-<span class="sourceLineNo">624</span>        }<a name="line.624"></a>
-<span class="sourceLineNo">625</span>        throw new IOException("Took too long to split the" +<a name="line.625"></a>
-<span class="sourceLineNo">626</span>            " files and create the references, aborting split");<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      }<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    } catch (InterruptedException e) {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>      throw (InterruptedIOException)new InterruptedIOException().initCause(e);<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>    int daughterA = 0;<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    int daughterB = 0;<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    // Look for any exception<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    for (Future&lt;Pair&lt;Path, Path&gt;&gt; future : futures) {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      try {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>        Pair&lt;Path, Path&gt; p = future.get();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>        daughterA += p.getFirst() != null ? 1 : 0;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>        daughterB += p.getSecond() != null ? 1 : 0;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      } catch (InterruptedException e) {<a name="line.640"></a>
-<span class="sourceLineNo">641</span>        throw (InterruptedIOException) new InterruptedIOException().initCause(e);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      } catch (ExecutionException e) {<a name="line.642"></a>
-<span class="sourceLineNo">643</span>        throw new IOException(e);<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>    if (LOG.isDebugEnabled()) {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      LOG.debug("pid=" + getProcId() + " split storefiles for region " +<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        getParentRegion().getShortNameToLog() +<a name="line.649"></a>
-<span class="sourceLineNo">650</span>          " Daughter A: " + daughterA + " storefiles, Daughter B: " +<a name="line.650"></a>
-<span class="sourceLineNo">651</span>          daughterB + " storefiles.");<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    }<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    return new Pair&lt;Integer, Integer&gt;(daughterA, daughterB);<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>  private void assertReferenceFileCount(final FileSystem fs, final int expectedReferenceFileCount,<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      final Path dir) throws IOException {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    if (expectedReferenceFileCount != 0 &amp;&amp;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>        expectedReferenceFileCount != FSUtils.getRegionReferenceFileCount(fs, dir)) {<a name="line.659"></a>
-<span class="sourceLineNo">660</span>      throw new IOException("Failing split. Expected reference file count isn't equal.");<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>  private Pair&lt;Path, Path&gt; splitStoreFile(HRegionFileSystem regionFs, byte[] family, HStoreFile sf)<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      throws IOException {<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    if (LOG.isDebugEnabled()) {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      LOG.debug("pid=" + getProcId() + " splitting started for store file: " +<a name="line.667"></a>
-<span class="sourceLineNo">668</span>          sf.getPath() + " for region: " + getParentRegion().getShortNameToLog());<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    }<a name="line.669"></a>
-<span class="sourceLineNo">670</span><a name="line.670"></a>
-<span class="sourceLineNo">671</span>    final byte[] splitRow = getSplitRow();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    final String familyName = Bytes.toString(family);<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    final Path path_first =<a name="line.673"></a>
-<span class="sourceLineNo">674</span>        regionFs.splitStoreFile(this.daughter_1_RI, familyName, sf, splitRow, false, null);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    final Path path_second =<a name="line.675"></a>
-<span class="sourceLineNo">676</span>        regionFs.splitStoreFile(this.daughter_2_RI, familyName, sf, splitRow, true, null);<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    if (LOG.isDebugEnabled()) {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      LOG.debug("pid=" + getProcId() + " splitting complete for store file: " +<a name="line.678"></a>
-<span class="sourceLineNo">679</span>          sf.getPath() + " for region: " + getParentRegion().getShortNameToLog());<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    }<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    return new Pair&lt;Path,Path&gt;(path_first, path_second);<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>  /**<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   * Utility class used to do the file splitting / reference writing<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   * in parallel instead of sequentially.<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   */<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  private class StoreFileSplitter implements Callable&lt;Pair&lt;Path,Path&gt;&gt; {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    private final HRegionFileSystem regionFs;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    private final byte[] family;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    private final HStoreFile sf;<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>     * Constructor that takes what it needs to split<a name="line.694"></a>
-<span class="sourceLineNo">695</span>     * @param regionFs the file system<a name="line.695"></a>
-<span class="sourceLineNo">696</span>     * @param family Family that contains the store file<a name="line.696"></a>
-<span class="sourceLineNo">697</span>     * @param sf which file<a name="line.697"></a>
-<span class="sourceLineNo">698</span>     */<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    public StoreFileSplitter(HRegionFileSystem regionFs, byte[] family, HStoreFile sf) {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.regionFs = regionFs;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.sf = sf;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.family = family;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    }<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>    @Override<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    public Pair&lt;Path,Path&gt; call() throws IOException {<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      return splitStoreFile(regionFs, family, sf);<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    }<a name="line.708"></a>
-<span class="sourceLineNo">709</span>  }<a name="line.709"></a>
+<span class="sourceLineNo">453</span>    // set node state as SPLITTING<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    node.setState(State.SPLITTING);<a name="line.454"></a>
+<span class="sourceLineNo">455</span><a name="line.455"></a>
+<span class="sourceLineNo">456</span>    return true;<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>   * Action before splitting region in a table.<a name="line.460"></a>
+<span class="sourceLineNo">461</span>   * @param env MasterProcedureEnv<a name="line.461"></a>
+<span class="sourceLineNo">462</span>   * @throws IOException<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   * @throws InterruptedException<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   */<a name="line.464"></a>
+<span class="sourceLineNo">465</span>  private void preSplitRegion(final MasterProcedureEnv env)<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      throws IOException, InterruptedException {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    if (cpHost != null) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      cpHost.preSplitRegionAction(getTableName(), getSplitRow(), getUser());<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>    // TODO: Clean up split and merge. Currently all over the place.<a name="line.472"></a>
+<span class="sourceLineNo">473</span>    // Notify QuotaManager and RegionNormalizer<a name="line.473"></a>
+<span class="sourceLineNo">474</span>    try {<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      env.getMasterServices().getMasterQuotaManager().onRegionSplit(this.getParentRegion());<a name="line.475"></a>
+<span class="sourceLineNo">476</span>    } catch (QuotaExceededException e) {<a name="line.476"></a>
+<span class="sourceLineNo">477</span>      env.getAssignmentManager().getRegionNormalizer().planSkipped(this.getParentRegion(),<a name="line.477"></a>
+<span class="sourceLineNo">478</span>          NormalizationPlan.PlanType.SPLIT);<a name="line.478"></a>
+<span class="sourceLineNo">479</span>      throw e;<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    }<a name="line.480"></a>
+<span class="sourceLineNo">481</span>  }<a name="line.481"></a>
+<span class="sourceLineNo">482</span><a name="line.482"></a>
+<span class="sourceLineNo">483</span>  /**<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   * Action after rollback a split table region action.<a name="line.484"></a>
+<span class="sourceLineNo">485</span>   * @param env MasterProcedureEnv<a name="line.485"></a>
+<span class="sourceLineNo">486</span>   * @throws IOException<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   */<a name="line.487"></a>
+<span class="sourceLineNo">488</span>  private void postRollBackSplitRegion(final MasterProcedureEnv env) throws IOException {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    if (cpHost != null) {<a name="line.490"></a>
+<span class="sourceLineNo">491</span>      cpHost.postRollBackSplitRegionAction(getUser());<a name="line.491"></a>
+<span class="sourceLineNo">492</span>    }<a name="line.492"></a>
+<span class="sourceLineNo">493</span>  }<a name="line.493"></a>
+<span class="sourceLineNo">494</span><a name="line.494"></a>
+<span class="sourceLineNo">495</span>  /**<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   * Rollback close parent region<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * @param env MasterProcedureEnv<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   **/<a name="line.498"></a>
+<span class="sourceLineNo">499</span>  private void openParentRegion(final MasterProcedureEnv env) throws IOException {<a name="line.499"></a>
+<span class="sourceLineNo">500</span>    // Check whether the region is closed; if so, open it in the same server<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    final int regionReplication = getRegionReplication(env);<a name="line.501"></a>
+<span class="sourceLineNo">502</span>    final ServerName serverName = getParentRegionServerName(env);<a name="line.502"></a>
+<span class="sourceLineNo">503</span><a name="line.503"></a>
+<span class="sourceLineNo">504</span>    final AssignProcedure[] procs = new AssignProcedure[regionReplication];<a name="line.504"></a>
+<span class="sourceLineNo">505</span>    for (int i = 0; i &lt; regionReplication; ++i) {<a name="line.505"></a>
+<span class="sourceLineNo">506</span>      final RegionInfo hri = RegionReplicaUtil.getRegionInfoForReplica(getParentRegion(), i);<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      procs[i] = env.getAssignmentManager().createAssignProcedure(hri, serverName);<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    env.getMasterServices().getMasterProcedureExecutor().submitProcedures(procs);<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>  /**<a name="line.512"></a>
+<span class="sourceLineNo">513</span>   * Create daughter regions<a name="line.513"></a>
+<span class="sourceLineNo">514</span>   * @param env MasterProcedureEnv<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   * @throws IOException<a name="line.515"></a>
+<span class="sourceLineNo">516</span>   */<a name="line.516"></a>
+<span class="sourceLineNo">517</span>  @VisibleForTesting<a name="line.517"></a>
+<span class="sourceLineNo">518</span>  public void createDaughterRegions(final MasterProcedureEnv env) throws IOException {<a name="line.518"></a>
+<span class="sourceLineNo">519</span>    final MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.519"></a>
+<span class="sourceLineNo">520</span>    final Path tabledir = FSUtils.getTableDir(mfs.getRootDir(), getTableName());<a name="line.520"></a>
+<span class="sourceLineNo">521</span>    final FileSystem fs = mfs.getFileSystem();<a name="line.521"></a>
+<span class="sourceLineNo">522</span>    HRegionFileSystem regionFs = HRegionFileSystem.openRegionFromFileSystem(<a name="line.522"></a>
+<span class="sourceLineNo">523</span>      env.getMasterConfiguration(), fs, tabledir, getParentRegion(), false);<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    regionFs.createSplitsDir();<a name="line.524"></a>
+<span class="sourceLineNo">525</span><a name="line.525"></a>
+<span class="sourceLineNo">526</span>    Pair&lt;Integer, Integer&gt; expectedReferences = splitStoreFiles(env, regionFs);<a name="line.526"></a>
+<span class="sourceLineNo">527</span><a name="line.527"></a>
+<span class="sourceLineNo">528</span>    assertReferenceFileCount(fs, expectedReferences.getFirst(),<a name="line.528"></a>
+<span class="sourceLineNo">529</span>      regionFs.getSplitsDir(daughter_1_RI));<a name="line.529"></a>
+<span class="sourceLineNo">530</span>    //Move the files from the temporary .splits to the final /table/region directory<a name="line.530"></a>
+<span class="sourceLineNo">531</span>    regionFs.commitDaughterRegion(daughter_1_RI);<a name="line.531"></a>
+<span class="sourceLineNo">532</span>    assertReferenceFileCount(fs, expectedReferences.getFirst(),<a name="line.532"></a>
+<span class="sourceLineNo">533</span>      new Path(tabledir, daughter_1_RI.getEncodedName()));<a name="line.533"></a>
+<span class="sourceLineNo">534</span><a name="line.534"></a>
+<span class="sourceLineNo">535</span>    assertReferenceFileCount(fs, expectedReferences.getSecond(),<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      regionFs.getSplitsDir(daughter_2_RI));<a name="line.536"></a>
+<span class="sourceLineNo">537</span>    regionFs.commitDaughterRegion(daughter_2_RI);<a name="line.537"></a>
+<span class="sourceLineNo">538</span>    assertReferenceFileCount(fs, expectedReferences.getSecond(),<a name="line.538"></a>
+<span class="sourceLineNo">539</span>      new Path(tabledir, daughter_2_RI.getEncodedName()));<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>  /**<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   * Create Split directory<a name="line.543"></a>
+<span class="sourceLineNo">544</span>   * @param env MasterProcedureEnv<a name="line.544"></a>
+<span class="sourceLineNo">545</span>   * @throws IOException<a name="line.545"></a>
+<span class="sourceLineNo">546</span>   */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  private Pair&lt;Integer, Integer&gt; splitStoreFiles(final MasterProcedureEnv env,<a name="line.547"></a>
+<span class="sourceLineNo">548</span>      final HRegionFileSystem regionFs) throws IOException {<a name="line.548"></a>
+<span class="sourceLineNo">549</span>    final MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    final Configuration conf = env.getMasterConfiguration();<a name="line.550"></a>
+<span class="sourceLineNo">551</span>    // The following code sets up a thread pool executor with as many slots as<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    // there's files to split. It then fires up everything, waits for<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    // completion and finally checks for any exception<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    //<a name="line.554"></a>
+<span class="sourceLineNo">555</span>    // Note: splitStoreFiles creates daughter region dirs under the parent splits dir<a name="line.555"></a>
+<span class="sourceLineNo">556</span>    // Nothing to unroll here if failure -- re-run createSplitsDir will<a name="line.556"></a>
+<span class="sourceLineNo">557</span>    // clean this up.<a name="line.557"></a>
+<span class="sourceLineNo">558</span>    int nbFiles = 0;<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    final Map&lt;String, Collection&lt;StoreFileInfo&gt;&gt; files =<a name="line.559"></a>
+<span class="sourceLineNo">560</span>      new HashMap&lt;String, Collection&lt;StoreFileInfo&gt;&gt;(regionFs.getFamilies().size());<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    for (String family: regionFs.getFamilies()) {<a name="line.561"></a>
+<span class="sourceLineNo">562</span>      Collection&lt;StoreFileInfo&gt; sfis = regionFs.getStoreFiles(family);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>      if (sfis == null) continue;<a name="line.563"></a>
+<span class="sourceLineNo">564</span>      Collection&lt;StoreFileInfo&gt; filteredSfis = null;<a name="line.564"></a>
+<span class="sourceLineNo">565</span>      for (StoreFileInfo sfi: sfis) {<a name="line.565"></a>
+<span class="sourceLineNo">566</span>        // Filter. There is a lag cleaning up compacted reference files. They get cleared<a name="line.566"></a>
+<span class="sourceLineNo">567</span>        // after a delay in case outstanding Scanners still have references. Because of this,<a name="line.567"></a>
+<span class="sourceLineNo">568</span>        // the listing of the Store content may have straggler reference files. Skip these.<a name="line.568"></a>
+<span class="sourceLineNo">569</span>        // It should be safe to skip references at this point because we checked above with<a name="line.569"></a>
+<span class="sourceLineNo">570</span>        // the region if it thinks it is splittable and if we are here, it thinks it is<a name="line.570"></a>
+<span class="sourceLineNo">571</span>        // splitable.<a name="line.571"></a>
+<span class="sourceLineNo">572</span>        if (sfi.isReference()) {<a name="line.572"></a>
+<span class="sourceLineNo">573</span>          LOG.info("Skipping split of " + sfi + "; presuming ready for archiving.");<a name="line.573"></a>
+<span class="sourceLineNo">574</span>          continue;<a name="line.574"></a>
+<span class="sourceLineNo">575</span>        }<a name="line.575"></a>
+<span class="sourceLineNo">576</span>        if (filteredSfis == null) {<a name="line.576"></a>
+<span class="sourceLineNo">577</span>          filteredSfis = new ArrayList&lt;StoreFileInfo&gt;(sfis.size());<a name="line.577"></a>
+<span class="sourceLineNo">578</span>          files.put(family, filteredSfis);<a name="line.578"></a>
+<span class="sourceLineNo">579</span>        }<a name="line.579"></a>
+<span class="sourceLineNo">580</span>        filteredSfis.add(sfi);<a name="line.580"></a>
+<span class="sourceLineNo">581</span>        nbFiles++;<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>    if (nbFiles == 0) {<a name="line.584"></a>
+<span class="sourceLineNo">585</span>      // no file needs to be splitted.<a name="line.585"></a>
+<span class="sourceLineNo">586</span>      return new Pair&lt;Integer, Integer&gt;(0,0);<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    }<a name="line.587"></a>
+<span class="sourceLineNo">588</span>    // Max #threads is the smaller of the number of storefiles or the default max determined above.<a name="line.588"></a>
+<span class="sourceLineNo">589</span>    int maxThreads = Math.min(<a name="line.589"></a>
+<span class="sourceLineNo">590</span>      conf.getInt(HConstants.REGION_SPLIT_THREADS_MAX,<a name="line.590"></a>
+<span class="sourceLineNo">591</span>        conf.getInt(HStore.BLOCKING_STOREFILES_KEY, HStore.DEFAULT_BLOCKING_STOREFILE_COUNT)),<a name="line.591"></a>
+<span class="sourceLineNo">592</span>      nbFiles);<a name="line.592"></a>
+<span class="sourceLineNo">593</span>    LOG.info("pid=" + getProcId() + " splitting " + nbFiles + " storefiles, region=" +<a name="line.593"></a>
+<span class="sourceLineNo">594</span>      getParentRegion().getShortNameToLog() + ", threads=" + maxThreads);<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    final ExecutorService threadPool = Executors.newFixedThreadPool(<a name="line.595"></a>
+<span class="sourceLineNo">596</span>      maxThreads, Threads.getNamedThreadFactory("StoreFileSplitter-%1$d"));<a name="line.596"></a>
+<span class="sourceLineNo">597</span>    final List&lt;Future&lt;Pair&lt;Path,Path&gt;&gt;&gt; futures = new ArrayList&lt;Future&lt;Pair&lt;Path,Path&gt;&gt;&gt;(nbFiles);<a name="line.597"></a>
+<span class="sourceLineNo">598</span><a name="line.598"></a>
+<span class="sourceLineNo">599</span>    // Split each store file.<a name="line.599"></a>
+<span class="sourceLineNo">600</span>    final TableDescriptor htd = env.getMasterServices().getTableDescriptors().get(getTableName());<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    for (Map.Entry&lt;String, Collection&lt;StoreFileInfo&gt;&gt;e: files.entrySet()) {<a name="line.601"></a>
+<span class="sourceLineNo">602</span>      byte [] familyName = Bytes.toBytes(e.getKey());<a name="line.602"></a>
+<span class="sourceLineNo">603</span>      final ColumnFamilyDescriptor hcd = htd.getColumnFamily(familyName);<a name="line.603"></a>
+<span class="sourceLineNo">604</span>      final Collection&lt;StoreFileInfo&gt; storeFiles = e.getValue();<a name="line.604"></a>
+<span class="sourceLineNo">605</span>      if (storeFiles != null &amp;&amp; storeFiles.size() &gt; 0) {<a name="line.605"></a>
+<span class="sourceLineNo">606</span>        final CacheConfig cacheConf = new CacheConfig(conf, hcd);<a name="line.606"></a>
+<span class="sourceLineNo">607</span>        for (StoreFileInfo storeFileInfo: storeFiles) {<a name="line.607"></a>
+<span class="sourceLineNo">608</span>          StoreFileSplitter sfs =<a name="line.608"></a>
+<span class="sourceLineNo">609</span>              new StoreFileSplitter(regionFs, familyName, new HStoreFile(mfs.getFileSystem(),<a name="line.609"></a>
+<span class="sourceLineNo">610</span>                  storeFileInfo, conf, cacheConf, hcd.getBloomFilterType(), true));<a name="line.610"></a>
+<span class="sourceLineNo">611</span>          futures.add(threadPool.submit(sfs));<a name="line.611"></a>
+<span class="sourceLineNo">612</span>        }<a name="line.612"></a>
+<span class="sourceLineNo">613</span>      }<a name="line.613"></a>
+<span class="sourceLineNo">614</span>    }<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    // Shutdown the pool<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    threadPool.shutdown();<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span>    // Wait for all the tasks to finish.<a name="line.618"></a>
+<span class="sourceLineNo">619</span>    // When splits ran on the RegionServer, how-long-to-wait-configuration was named<a name="line.619"></a>
+<span class="sourceLineNo">620</span>    // hbase.regionserver.fileSplitTimeout. If set, use its value.<a name="line.620"></a>
+<span class="sourceLineNo">621</span>    long fileSplitTimeout = conf.getLong("hbase.master.fileSplitTimeout",<a name="line.621"></a>
+<span class="sourceLineNo">622</span>        conf.getLong("hbase.regionserver.fileSplitTimeout", 600000));<a name="line.622"></a>
+<span class="sourceLineNo">623</span>    try {<a name="line.623"></a>
+<span class="sourceLineNo">624</span>      boolean stillRunning = !threadPool.awaitTermination(fileSplitTimeout, TimeUnit.MILLISECONDS);<a name="line.624"></a>
+<span class="sourceLineNo">625</span>      if (stillRunning) {<a name="line.625"></a>
+<span class="sourceLineNo">626</span>        threadPool.shutdownNow();<a name="line.626"></a>
+<span class="sourceLineNo">627</span>        // wait for the thread to shutdown completely.<a name="line.627"></a>
+<span class="sourceLineNo">628</span>        while (!threadPool.isTerminated()) {<a name="line.628"></a>
+<span class="sourceLineNo">629</span>          Thread.sleep(50);<a name="line.629"></a>
+<span class="sourceLineNo">630</span>        }<a name="line.630"></a>
+<span class="sourceLineNo">631</span>        throw new IOException("Took too long to split the" +<a name="line.631"></a>
+<span class="sourceLineNo">632</span>            " files and create the references, aborting split");<a name="line.632"></a>
+<span class="sourceLineNo">633</span>      }<a name="line.633"></a>
+<span class="sourceLineNo">634</span>    } catch (InterruptedException e) {<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      throw (InterruptedIOException)new InterruptedIOException().initCause(e);<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>    int daughterA = 0;<a name="line.638"></a>
+<span class="sourceLineNo">639</span>    int daughterB = 0;<a name="line.639"></a>
+<span class="sourceLineNo">640</span>    // Look for any exception<a name="line.640"></a>
+<span class="sourceLineNo">641</span>    for (Future&lt;Pair&lt;Path, Path&gt;&gt; future : futures) {<a name="line.641"></a>
+<span class="sourceLineNo">642</span>      try {<a name="line.642"></a>
+<span class="sourceLineNo">643</span>        Pair&lt;Path, Path&gt; p = future.get();<a name="line.643"></a>
+<span class="sourceLineNo">644</span>        daughterA += p.getFirst() != null ? 1 : 0;<a name="line.644"></a>
+<span class="sourceLineNo">645</span>        daughterB += p.getSecond() != null ? 1 : 0;<a name="line.645"></a>
+<span class="sourceLineNo">646</span>      } catch (InterruptedException e) {<a name="line.646"></a>
+<span class="sourceLineNo">647</span>        throw (InterruptedIOException) new InterruptedIOException().initCause(e);<a name="line.647"></a>
+<span class="sourceLineNo">648</span>      } catch (ExecutionException e) {<a name="line.648"></a>
+<span class="sourceLineNo">649</span>        throw new IOException(e);<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><a name="line.652"></a>
+<span class="sourceLineNo">653</span>    if (LOG.isDebugEnabled()) {<a name="line.653"></a>
+<span class="sourceLineNo">654</span>      LOG.debug("pid=" + getProcId() + " split storefiles for region " +<a name="line.654"></a>
+<span class="sourceLineNo">655</span>        getParentRegion().getShortNameToLog() +<a name="line.655"></a>
+<span class="sourceLineNo">656</span>          " Daughter A: " + daughterA + " storefiles, Daughter B: " +<a name="line.656"></a>
+<span class="sourceLineNo">657</span>          daughterB + " storefiles.");<a name="line.657"></a>
+<span class="sourceLineNo">658</span>    }<a name="line.658"></a>
+<span class="sourceLineNo">659</span>    return new Pair&lt;Integer, Integer&gt;(daughterA, daughterB);<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>  private void assertReferenceFileCount(final FileSystem fs, final int expectedReferenceFileCount,<a name="line.662"></a>
+<span class="sourceLineNo">663</span>      final Path dir) throws IOException {<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    if (expectedReferenceFileCount != 0 &amp;&amp;<a name="line.664"></a>
+<span class="sourceLineNo">665</span>        expectedReferenceFileCount != FSUtils.getRegionReferenceFileCount(fs, dir)) {<a name="line.665"></a>
+<span class="sourceLineNo">666</span>      throw new IOException("Failing split. Expected reference file count isn't equal.");<a name="line.666"></a>
+<span class="sourceLineNo">667</span>    }<a name="line.667"></a>
+<span class="sourceLineNo">668</span>  }<a name="line.668"></a>
+<span class="sourceLineNo">669</span><a name="line.669"></a>
+<span class="sourceLineNo">670</span>  private Pair&lt;Path, Path&gt; splitStoreFile(HRegionFileSystem regionFs, byte[] family, HStoreFile sf)<a name="line.670"></a>
+<span class="sourceLineNo">671</span>      throws IOException {<a name="line.671"></a>
+<span class="sourceLineNo">672</span>    if (LOG.isDebugEnabled()) {<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      LOG.debug("pid=" + getProcId() + " splitting started for store file: " +<a name="line.673"></a>
+<span class="sourceLineNo">674</span>          sf.getPath() + " for region: " + getParentRegion().getShortNameToLog());<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    }<a name="line.675"></a>
+<span class="sourceLineNo">676</span><a name="line.676"></a>
+<span class="sourceLineNo">677</span>    final byte[] splitRow = getSplitRow();<a name="line.677"></a>
+<span class="sourceLineNo">678</span>    final String familyName = Bytes.toString(family);<a name="line.678"></a>
+<span class="sourceLineNo">679</span>    final Path path_first =<a name="line.679"></a>
+<span class="sourceLineNo">680</span>        regionFs.splitStoreFile(this.daughter_1_RI, familyName, sf, splitRow, false, null);<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    final Path path_second =<a name="line.681"></a>
+<span class="sourceLineNo">682</span>        regionFs.splitStoreFile(this.daughter_2_RI, familyName, sf, splitRow, true, null);<a name="line.682"></a>
+<span class="sourceLineNo">683</span>    if (LOG.isDebugEnabled()) {<a name="line.683"></a>
+<span class="sourceLineNo">684</span>      LOG.debug("pid=" + getProcId() + " splitting complete for store file: " +<a name="line.684"></a>
+<span class="sourceLineNo">685</span>          sf.getPath() + " for region: " + getParentRegion().getShortNameToLog());<a name="line.685"></a>
+<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    return new Pair&lt;Path,Path&gt;(path_first, path_second);<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>   * Utility class used to do the file splitting / reference writing<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * in parallel instead of sequentially.<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   */<a name="line.693"></a>
+<span class="sourceLineNo">694</span>  private class Sto

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
index 983e481..d45ac05 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3394">HRegionServer.MovedRegionInfo</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3364">HRegionServer.MovedRegionInfo</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -218,7 +218,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>serverName</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3395">serverName</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3365">serverName</a></pre>
 </li>
 </ul>
 <a name="seqNum">
@@ -227,7 +227,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>seqNum</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3396">seqNum</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3366">seqNum</a></pre>
 </li>
 </ul>
 <a name="ts">
@@ -236,7 +236,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ts</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3397">ts</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3367">ts</a></pre>
 </li>
 </ul>
 </li>
@@ -253,7 +253,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MovedRegionInfo</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3399">MovedRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3369">MovedRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                        long&nbsp;closeSeqNum)</pre>
 </li>
 </ul>
@@ -271,7 +271,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerName</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3405">getServerName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3375">getServerName</a>()</pre>
 </li>
 </ul>
 <a name="getSeqNum--">
@@ -280,7 +280,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getSeqNum</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3409">getSeqNum</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3379">getSeqNum</a>()</pre>
 </li>
 </ul>
 <a name="getMoveTime--">
@@ -289,7 +289,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getMoveTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3413">getMoveTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3383">getMoveTime</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
index a1a6afc..a64536f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>protected static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3481">HRegionServer.MovedRegionsCleaner</a>
+<pre>protected static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3451">HRegionServer.MovedRegionsCleaner</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a></pre>
 <div class="block">Creates a Chore thread to clean the moved region cache.</div>
@@ -242,7 +242,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServer</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3482">regionServer</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3452">regionServer</a></pre>
 </li>
 </ul>
 <a name="stoppable">
@@ -251,7 +251,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockListLast">
 <li class="blockList">
 <h4>stoppable</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3483">stoppable</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3453">stoppable</a></pre>
 </li>
 </ul>
 </li>
@@ -268,7 +268,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MovedRegionsCleaner</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3485">MovedRegionsCleaner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;regionServer,
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3455">MovedRegionsCleaner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;regionServer,
                             <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a>&nbsp;stoppable)</pre>
 </li>
 </ul>
@@ -286,7 +286,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionsCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3493">create</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;rs)</pre>
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionsCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3463">create</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;rs)</pre>
 </li>
 </ul>
 <a name="chore--">
@@ -295,7 +295,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>chore</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3504">chore</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3474">chore</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html#chore--">ScheduledChore</a></code></span></div>
 <div class="block">The task to execute on each scheduled execution of the Chore</div>
 <dl>
@@ -310,7 +310,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3509">stop</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3479">stop</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html#stop-java.lang.String-">Stoppable</a></code></span></div>
 <div class="block">Stop this service.
  Implementers should favor logging errors over throwing RuntimeExceptions.</div>
@@ -328,7 +328,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isStopped</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3514">isStopped</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3484">isStopped</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html#isStopped--">isStopped</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a></code></dd>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index ec63fc7..97a3442 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -999,11 +999,25 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Put-">add(Put)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></dt>
 <dd>
-<div class="block">Add a <a href="org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> operation to the list of mutations</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>RowMutations.add(Mutation)</code></a></span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Delete-">add(Delete)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></dt>
 <dd>
-<div class="block">Add a <a href="org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> operation to the list of mutations</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>RowMutations.add(Mutation)</code></a></span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-">add(Mutation)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></dt>
+<dd>
+<div class="block">Currently only supports <a href="org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RowMutations.html#add-java.util.List-">add(List&lt;? extends Mutation&gt;)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></dt>
+<dd>
+<div class="block">Currently only supports <a href="org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/CompoundConfiguration.html#add-org.apache.hadoop.conf.Configuration-">add(Configuration)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/CompoundConfiguration.html" title="class in org.apache.hadoop.hbase">CompoundConfiguration</a></dt>
 <dd>
@@ -2579,6 +2593,16 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.html#addWAL-org.apache.hadoop.hbase.ServerName-java.lang.String-java.lang.String-">addWAL(ServerName, String, String)</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/wal/AbstractFSWALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener(WALActionsListener)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/DisabledWALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener(WALActionsListener)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/DisabledWALProvider.html" title="class in org.apache.hadoop.hbase.wal">DisabledWALProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener(WALActionsListener)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.html" title="class in org.apache.hadoop.hbase.wal">RegionGroupingProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener(WALActionsListener)</a></span> - Method in interface org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></dt>
+<dd>
+<div class="block">Add a <a href="org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal"><code>WALActionsListener</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html#addWALFiles-java.util.List-java.lang.String-java.lang.String-">addWALFiles(List&lt;String&gt;, String, String)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupSystemTable</a></dt>
 <dd>
 <div class="block">Register WAL files as eligible for deletion</div>
@@ -10126,9 +10150,9 @@
 <div class="block">Check is a server of same host and port already exists,
  if not, or the existed one got a smaller start code, record it.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-boolean-">checkAndRowMutate(byte[], byte[], byte[], CompareOperator, ByteArrayComparable, RowMutations, boolean)</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>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-">checkAndRowMutate(byte[], byte[], byte[], CompareOperator, ByteArrayComparable, RowMutations)</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>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/Region.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-boolean-">checkAndRowMutate(byte[], byte[], byte[], CompareOperator, ByteArrayComparable, RowMutations, boolean)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/Region.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-">checkAndRowMutate(byte[], byte[], byte[], CompareOperator, ByteArrayComparable, RowMutations)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></dt>
 <dd>
 <div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
  it performs the row mutations.</div>
@@ -15027,8 +15051,6 @@
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Compares the descriptor with another descriptor which is passed as a parameter.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#compareTo-org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.BucketEntryGroup-">compareTo(BucketCache.BucketEntryGroup)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntryGroup</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/LruBlockCache.BlockBucket.html#compareTo-org.apache.hadoop.hbase.io.hfile.LruBlockCache.BlockBucket-">compareTo(LruBlockCache.BlockBucket)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/LruBlockCache.BlockBucket.html" title="class in org.apache.hadoop.hbase.io.hfile">LruBlockCache.BlockBucket</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/LruCachedBlock.html#compareTo-org.apache.hadoop.hbase.io.hfile.LruCachedBlock-">compareTo(LruCachedBlock)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/LruCachedBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">LruCachedBlock</a></dt>
@@ -19621,7 +19643,7 @@
 <dd>
 <div class="block">This borrows code from MasterFileSystem.bootstrap().</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#createNewReplicationInstance-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">createNewReplicationInstance(Configuration, HRegionServer, FileSystem, Path, Path)</a></span> - Static 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>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#createNewReplicationInstance-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">createNewReplicationInstance(Configuration, HRegionServer, FileSystem, Path, Path, WALProvider)</a></span> - Static 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>
 <div class="block">Load the replication executorService objects, if any</div>
 </dd>
@@ -19758,7 +19780,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#createProvider-java.lang.String-">createProvider(String)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.html" title="class in org.apache.hadoop.hbase.wal">RegionGroupingProvider</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALFactory.html#createProvider-java.lang.Class-java.util.List-java.lang.String-">createProvider(Class&lt;? extends WALProvider&gt;, List&lt;WALActionsListener&gt;, String)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALFactory.html#createProvider-java.lang.Class-java.lang.String-">createProvider(Class&lt;? extends WALProvider&gt;, String)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html#createPutForBackupInfo-org.apache.hadoop.hbase.backup.BackupInfo-">createPutForBackupInfo(BackupInfo)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupSystemTable</a></dt>
 <dd>
@@ -21083,9 +21105,9 @@
 <dd>
 <div class="block">Custom tags if created are suggested to be above this range.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ScanInfo.html#customize-int-long-">customize(int, long)</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>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ScanInfo.html#customize-int-long-org.apache.hadoop.hbase.KeepDeletedCells-">customize(int, long, KeepDeletedCells)</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>
-<div class="block">Used for CP users for customizing max versions and ttl.</div>
+<div class="block">Used for CP users for customizing max versions, ttl and keepDeletedCells.</div>
 </dd>
 <dt><a href="org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CustomizedScanInfoBuilder</span></a> - Class in <a href="org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
 <dd>
@@ -21830,7 +21852,7 @@
 <div class="block">This method modifies the master's configuration in order to inject backup-related features
  (TESTs only)</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#decorateMasterConfiguration-org.apache.hadoop.conf.Configuration-">decorateMasterConfiguration(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/HMaster.html#decorateMasterConfiguration-org.apache.hadoop.conf.Configuration-">decorateMasterConfiguration(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></dt>
 <dd>
 <div class="block">This method modifies the master's configuration in order to inject replication-related features</div>
 </dd>
@@ -21839,7 +21861,7 @@
 <div class="block">This method modifies the Region Server configuration in order to inject backup-related features
  TESTs only.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#decorateRegionServerConfiguration-org.apache.hadoop.conf.Configuration-">decorateRegionServerConfiguration(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#decorateRegionServerConfiguration-org.apache.hadoop.conf.Configuration-">decorateRegionServerConfiguration(Configuration)</a></span> - Static 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>
 <div class="block">This method modifies the region server's configuration in order to inject replication-related
  features</div>
@@ -25348,7 +25370,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html#doCheckAndPut-byte:A-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.client.Put-">doCheckAndPut(byte[], byte[], byte[], byte[], Put)</a></span> - Method in class org.apache.hadoop.hbase.rest.client.<a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html" title="class in org.apache.hadoop.hbase.rest.client">RemoteHTable</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-org.apache.hadoop.hbase.client.Mutation-boolean-">doCheckAndRowMutate(byte[], byte[], byte[], CompareOperator, ByteArrayComparable, RowMutations, Mutation, boolean)</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>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-org.apache.hadoop.hbase.client.Mutation-">doCheckAndRowMutate(byte[], byte[], byte[], CompareOperator, ByteArrayComparable, RowMutations, Mutation)</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">checkAndMutate and checkAndRowMutate are 90% the same.</div>
 </dd>
@@ -27596,8 +27618,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntryGroup</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/HFile.FileInfo.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/HFile.FileInfo.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile.FileInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/HFileBlock.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a></dt>
@@ -39601,8 +39621,12 @@
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 &nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#getKeepDeletedCells--">getKeepDeletedCells()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html" title="class in org.apache.hadoop.hbase.regionserver">CustomizedScanInfoBuilder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ScanInfo.html#getKeepDeletedCells--">getKeepDeletedCells()</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/regionserver/ScanOptions.html#getKeepDeletedCells--">getKeepDeletedCells()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ScanOptions.html" title="interface in org.apache.hadoop.hbase.regionserver">ScanOptions</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ScannerContext.html#getKeepProgress--">getKeepProgress()</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>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/mapreduce/MapReduceBackupCopyJob.BackupDistCp.html#getKey-org.apache.hadoop.fs.Path-">getKey(Path)</a></span> - Method in class org.apache.hadoop.hbase.backup.mapreduce.<a href="org/apache/hadoop/hbase/backup/mapreduce/MapReduceBackupCopyJob.BackupDistCp.html" title="class in org.apache.hadoop.hbase.backup.mapreduce">MapReduceBackupCopyJob.BackupDistCp</a></dt>
@@ -40507,8 +40531,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html#getLogFileSizeIfBeingWritten-org.apache.hadoop.fs.Path-">getLogFileSizeIfBeingWritten(Path)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html" title="class in org.apache.hadoop.hbase.wal">DisabledWALProvider.DisabledWAL</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALFactory.html#getLogFileSizeIfBeingWritten-org.apache.hadoop.fs.Path-">getLogFileSizeIfBeingWritten(Path)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncProcess.html#getLogger-org.apache.hadoop.hbase.TableName-long-">getLogger(TableName, long)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncProcess.html" title="class in org.apache.hadoop.hbase.client">AsyncProcess</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.html#getLogId--">getLogId()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">ProcedureWALFile</a></dt>
@@ -44421,7 +44443,7 @@
 <dd>
 <div class="block">Return the provider for this Cipher</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALFactory.html#getProvider-java.lang.String-java.lang.String-java.util.List-java.lang.String-">getProvider(String, String, List&lt;WALActionsListener&gt;, String)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALFactory.html#getProvider-java.lang.String-java.lang.String-java.lang.String-">getProvider(String, String, String)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></dt>
 <dd>
 <div class="block">instantiate a provider from a config property.</div>
 </dd>
@@ -50098,9 +50120,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/HFileArchiveUtil.html#getTableName-org.apache.hadoop.fs.Path-">getTableName(Path)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/HFileArchiveUtil.html" title="class in org.apache.hadoop.hbase.util">HFileArchiveUtil</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALKey.html#getTablename--">getTablename()</a></span> - Method in interface org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALKey.html#getTableName--">getTableName()</a></span> - Method in interface org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALKeyImpl.html#getTablename--">getTablename()</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>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALKeyImpl.html#getTableName--">getTableName()</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/wal/WALSplitter.RegionEntryBuffer.html#getTableName--">getTableName()</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALSplitter.RegionEntryBuffer.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.RegionEntryBuffer</a></dt>
 <dd>&nbsp;</dd>
@@ -52116,12 +52138,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALProvider.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL(RegionInfo)</a></span> - Method in interface org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#getWALActionsListener--">getWALActionsListener()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a></dt>
-<dd>
-<div class="block">Returns a WALObserver for the service.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#getWALActionsListener--">getWALActionsListener()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALArchiveDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getWALArchiveDirectoryName(Configuration, String)</a></span> - Static method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a></dt>
 <dd>
 <div class="block">Construct the directory name for all old WALs on a given server.</div>
@@ -52160,6 +52176,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceInterface.html#getWALFileLengthProvider--">getWALFileLengthProvider()</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/wal/WALProvider.html#getWALFileLengthProvider--">getWALFileLengthProvider()</a></span> - Method in interface org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/BackupManager.html#getWALFilesFromBackupSystem--">getWALFilesFromBackupSystem()</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/BackupManager.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupManager</a></dt>
 <dd>
 <div class="block">Get WAL files iterator.</div>
@@ -53589,8 +53607,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntryGroup</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/HFile.FileInfo.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/HFile.FileInfo.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile.FileInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/HFileBlock.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a></dt>
@@ -58562,7 +58578,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/CoprocessorClassLoader.html#init-org.apache.hadoop.fs.Path-java.lang.String-org.apache.hadoop.conf.Configuration-">init(Path, String, Configuration)</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/CoprocessorClassLoader.html" title="class in org.apache.hadoop.hbase.util">CoprocessorClassLoader</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init(WALFactory, Configuration, List&lt;WALActionsListener&gt;, String)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init(WALFactory, Configuration, String)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html#init-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FSDataInputStream-">init(FileSystem, Path, Configuration, FSDataInputStream)</a></span> - Method in interface org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html" title="interface in org.apache.hadoop.hbase.wal">AbstractFSWALProvider.Reader</a></dt>
 <dd>&nbsp;</dd>
@@ -58570,7 +58586,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/BoundedGroupingStrategy.html#init-org.apache.hadoop.conf.Configuration-java.lang.String-">init(Configuration, String)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/BoundedGroupingStrategy.html" title="class in org.apache.hadoop.hbase.wal">BoundedGroupingStrategy</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/DisabledWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init(WALFactory, Configuration, List&lt;WALActionsListener&gt;, String)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/DisabledWALProvider.html" title="class in org.apache.hadoop.hbase.wal">DisabledWALProvider</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/DisabledWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init(WALFactory, Configuration, String)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/DisabledWALProvider.html" title="class in org.apache.hadoop.hbase.wal">DisabledWALProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html#init-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-boolean-">init(FileSystem, Path, Configuration, boolean)</a></span> - Method in interface org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">FSHLogProvider.Writer</a></dt>
 <dd>&nbsp;</dd>
@@ -58578,13 +58594,13 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.IdentityGroupingStrategy.html#init-org.apache.hadoop.conf.Configuration-java.lang.String-">init(Configuration, String)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.IdentityGroupingStrategy.html" title="class in org.apache.hadoop.hbase.wal">RegionGroupingProvider.IdentityGroupingStrategy</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init(WALFactory, Configuration, List&lt;WALActionsListener&gt;, String)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.html" title="class in org.apache.hadoop.hbase.wal">RegionGroupingProvider</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init(WALFactory, Configuration, String)</a></span> - Method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.html" title="class in org.apache.hadoop.hbase.wal">RegionGroupingProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.RegionGroupingStrategy.html#init-org.apache.hadoop.conf.Configuration-java.lang.String-">init(Configuration, String)</a></span> - Method in interface org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.RegionGroupingStrategy.html" title="interface in org.apache.hadoop.hbase.wal">RegionGroupingProvider.RegionGroupingStrategy</a></dt>
 <dd>&nbsp;</dd>
 <dt><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(byte[], TableName, long, long, List&lt;UUID&gt;, long, long, MultiVersionConcurrencyControl, NavigableMap&lt;byte[], Integer&gt;)</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/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init(WALFactory, Configuration, List&lt;WALActionsListener&gt;, String)</a></span> - Method in interface org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init(WALFactory, Configuration, String)</a></span> - Method in interface org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></dt>
 <dd>
 <div class="block">Set up the provider to create wals.</div>
 </dd>
@@ -58849,7 +58865,7 @@
 <dd>
 <div class="block">Initialize this region.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">initialize(Server, FileSystem, Path, Path, WALFileLengthProvider)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">initialize(Server, FileSystem, Path, Path, WALProvider)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a></dt>
 <dd>
 <div class="block">Initializes the replication service object.</div>
 </dd>
@@ -58863,7 +58879,7 @@
 <dd>
 <div class="block">Create a default snapshot handler - uses a zookeeper based member controller.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">initialize(Server, FileSystem, Path, Path, WALFileLengthProvider)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">initialize(Server, FileSystem, Path, Path, WALProvider)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#initialize--">initialize()</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>
@@ -59521,8 +59537,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CacheStats.html#intermediateIndexMissCount">intermediateIndexMissCount</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheStats</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RowMutations.html#internalAdd-org.apache.hadoop.hbase.client.Mutation-">internalAdd(Mutation)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/AbstractMemStore.html#internalAdd-org.apache.hadoop.hbase.Cell-boolean-org.apache.hadoop.hbase.regionserver.MemStoreSizing-">internalAdd(Cell, boolean, MemStoreSizing)</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>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/CompositeImmutableSegment.html#internalAdd-org.apache.hadoop.hbase.Cell-boolean-org.apache.hadoop.hbase.regionserver.MemStoreSizing-">internalAdd(Cell, boolean, MemStoreSizing)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/CompositeImmutableSegment.html" title="class in org.apache.hadoop.hbase.regionserver">CompositeImmutableSegment</a></dt>
@@ -62071,7 +62085,9 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RegionReplicaUtil.html#isReplicasForSameRegion-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">isReplicasForSameRegion(RegionInfo, RegionInfo)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RegionReplicaUtil.html" title="class in org.apache.hadoop.hbase.client">RegionReplicaUtil</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#isReplicationForBulkLoadDataEnabled-org.apache.hadoop.conf.Configuration-">isReplicationForBulkLoadDataEnabled(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#isReplicationForBulkLoadDataEnabled">isReplicationForBulkLoadDataEnabled</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/ReplicationUtils.html#isReplicationForBulkLoadDataEnabled-org.apache.hadoop.conf.Configuration-">isReplicationForBulkLoadDataEnabled(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ReplicationUtils.html" title="class in org.apache.hadoop.hbase.replication">ReplicationUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.html#isRequired-long-">isRequired(long)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">ProcedureWALFormatReader</a></dt>
 <dd>&nbsp;</dd>
@@ -63355,6 +63371,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/KeepDeletedCells.html#KeepDeletedCells--">KeepDeletedCells()</a></span> - Constructor for enum org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#keepDeletedCells">keepDeletedCells</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html" title="class in org.apache.hadoop.hbase.regionserver">CustomizedScanInfoBuilder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/querymatcher/CompactionScanQueryMatcher.html#keepDeletedCells">keepDeletedCells</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.querymatcher.<a href="org/apache/hadoop/hbase/regionserver/querymatcher/CompactionScanQueryMatcher.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher">CompactionScanQueryMatcher</a></dt>
 <dd>
 <div class="block">whether to return deleted rows</div>
@@ -74762,7 +74780,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RSRpcServices.html#newRegionScanner-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse.Builder-">newRegionScanner(ClientProtos.ScanRequest, ClientProtos.ScanResponse.Builder)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#newReplicationInstance-java.lang.String-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">newReplicationInstance(String, Configuration, HRegionServer, FileSystem, Path, Path)</a></span> - Static 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>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#newReplicationInstance-java.lang.String-java.lang.Class-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">newReplicationInstance(String, Class&lt;T&gt;, Configuration, HRegionServer, FileSystem, Path, Path, WALProvider)</a></span> - Static 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/util/compaction/MajorCompactionRequest.html#newRequest-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.RegionInfo-java.util.Set-long-">newRequest(Configuration, RegionInfo, Set&lt;String&gt;, long)</a></span> - Static method in class org.apache.hadoop.hbase.util.compaction.<a href="org/apache/hadoop/hbase/util/compaction/MajorCompactionRequest.html" title="class in org.apache.hadoop.hbase.util.compaction">MajorCompactionRequest</a></dt>
 <dd>&nbsp;</dd>
@@ -76413,6 +76431,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.html#of-byte:A-">of(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>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RowMutations.html#of-java.util.List-">of(List&lt;? extends Mutation&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></dt>
+<dd>
+<div class="block">Create a <a href="org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client"><code>RowMutations</code></a> with the specified mutations.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ServerMetricsBuilder.html#of-org.apache.hadoop.hbase.ServerName-">of(ServerName)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ServerMetricsBuilder.html" title="class in org.apache.hadoop.hbase">ServerMetricsBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/AdaptiveLifoCoDelCallQueue.html#offer-org.apache.hadoop.hbase.ipc.CallRunner-">offer(CallRunner)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/AdaptiveLifoCoDelCallQueue.html" title="class in org.apache.hadoop.hbase.ipc">AdaptiveLifoCoDelCallQueue</a></dt>
@@ -77095,8 +77117,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#openReader-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">openReader(Path, Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a></dt>
 <dd>
-<div class="block">Opens WAL reader with retries and
- additional exception handling</div>
+<div class="block">Opens WAL reader with retries and additional exception handling</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#openReadOnlyFileSystemHRegion-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.TableDescriptor-">openReadOnlyFileSystemHRegion(Configuration, FileSystem, Path, RegionInfo, TableDescriptor)</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>
 <dd>
@@ -80183,8 +80204,6 @@ service.</div>
 <dd>
 <div class="block">The WAL has been rolled.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#postLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">postLogRoll(Path, Path)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#postLogRoll-org.apache.hadoop.fs.Path-">postLogRoll(Path)</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>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postMemStoreCompaction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.Store-">postMemStoreCompaction(ObserverContext&lt;RegionCoprocessorEnvironment&gt;, Store)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionObserver</a></dt>
@@ -81426,8 +81445,6 @@ service.</div>
 <dd>
 <div class="block">The WAL is going to be rolled.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#preLogRoll-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">preLogRoll(Path, Path)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#preLogRoll-org.apache.hadoop.fs.Path-">preLogRoll(Path)</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>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization(ObserverContext&lt;MasterCoprocessorEnvironment&gt;)</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></dt>
@@ -82506,7 +82523,7 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.html#printStats">printStats</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.html" title="class in org.apache.hadoop.hbase.io.hfile">HFilePrettyPrinter</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#printStats-java.lang.String-">printStats(String)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsThread</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#printStats-java.lang.String-">printStats(String)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/HBaseFsck.html#printTableSummary-java.util.SortedMap-">printTableSummary(SortedMap&lt;TableName, HBaseFsck.TableInfo&gt;)</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/HBaseFsck.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck</a></dt>
 <dd>
@@ -89863,16 +89880,14 @@ service.</div>
 <dd>
 <div class="block">Gateway to Replication.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#Replication-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">Replication(Server, FileSystem, Path, Path)</a></span> - Constructor for class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
-<dd>
-<div class="block">Instantiate the replication management (if rep is enabled).</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#Replication--">Replication()</a></span> - Constructor for class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
 <dd>
 <div class="block">Empty constructor</div>
 </dd>
-<dt><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Replication.ReplicationStatisticsThread</span></a> - Class in <a href="org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a></dt>
-<dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Replication.ReplicationStatisticsTask</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">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>
@@ -90059,8 +90074,6 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/ReplicationFactory.html#ReplicationFactory--">ReplicationFactory()</a></span> - Constructor for class org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ReplicationFactory.html" title="class in org.apache.hadoop.hbase.replication">ReplicationFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#replicationForBulkLoadData">replicationForBulkLoadData</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#replicationForBulkLoadDataEnabled">replicationForBulkLoadDataEnabled</a></span> - Variable 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>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationFuture.html#ReplicationFuture-org.apache.hadoop.hbase.client.HBaseAdmin-java.lang.String-java.lang.Long-java.util.function.Supplier-">ReplicationFuture(HBaseAdmin, String, Long, Supplier&lt;String&gt;)</a></span> - Constructor for 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>
@@ -90118,7 +90131,7 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#replicationManager">replicationManager</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#replicationManager">replicationManager</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsThread</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#replicationManager">replicationManager</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/master/cleaner/ReplicationMetaCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner"><span class="typeNameLink">ReplicationMetaCleaner</span></a> - Class in <a href="org/apache/hadoop/hbase/master/cleaner/package-summary.html">org.apache.hadoop.hbase.master.cleaner</a></dt>
 <dd>
@@ -90257,7 +90270,7 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#replicationSink">replicationSink</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#replicationSink">replicationSink</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsThread</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#replicationSink">replicationSink</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSink</span></a> - Class in <a href="org/apache/hadoop/hbase/replication/regionserver/package-summary.html">org.apache.hadoop.hbase.replication.regionserver</a></dt>
 <dd>
@@ -90354,7 +90367,7 @@ service.</div>
 <dd>
 <div class="block">Holds a batch of WAL entries to replicate, along with some statistics</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#ReplicationStatisticsThread-org.apache.hadoop.hbase.replication.regionserver.ReplicationSink-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">ReplicationStatisticsThread(ReplicationSink, ReplicationSourceManager)</a></span> - Constructor for class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsThread</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#ReplicationStatisticsTask-org.apache.hadoop.hbase.replication.regionserver.ReplicationSink-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">ReplicationStatisticsTask(ReplicationSink, ReplicationSourceManager)</a></span> - Constructor for class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/replication/ReplicationStorageFactory.html" title="class in org.apache.hadoop.hbase.replication"><span class="typeNameLink">ReplicationStorageFactory</span></a> - Class in <a href="org/apache/hadoop/hbase/replication/package-summary.html">org.apache.hadoop.hbase.replication</a></dt>
 <dd>
@@ -92544,11 +92557,19 @@ service.</div>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/GCRegionProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.GCRegionState-">rollbackState(MasterProcedureEnv, MasterProcedureProtos.GCRegionState)</a></span> - Method in class org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/GCRegionProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">GCRegionProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState-">rollbackState(MasterProcedureEnv, MasterProcedureProtos.MergeTableRegionsState)</a></span> - Method in class org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">MergeTableRegionsProcedure</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">To rollback <a href="org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment"><code>MergeTableRegionsProcedure</code></a>, two AssignProcedures are asynchronously
+ submitted for each region to be merged (rollback doesn't wait on the completion of the
+ AssignProcedures) .</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MoveRegionState-">rollbackState(MasterProcedureEnv, MasterProcedureProtos.MoveRegionState)</a></span> - Method in class org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">MoveRegionProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState-">rollbackState(MasterProcedureEnv, MasterProcedureProtos.SplitTableRegionState)</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>
+<dd>
+<div class="block">To rollback <a href="org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment"><code>SplitTableRegionProcedure</code></a>, an AssignProcedure is asynchronously
+ submitted for parent region to be split (rollback doesn't wait on the completion of the
+ AssignProcedure) .</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/CloneSnapshotProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState-">rollbackState(MasterProcedureEnv, MasterProcedureProtos.CloneSnapshotState)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/CloneSnapshotProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">CloneSnapshotProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html#rollbackState-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CreateNamespaceState-">rollbackState(MasterProcedureEnv, MasterProcedureProtos.CreateNamespaceState)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">CreateNamespaceProcedure</a></dt>
@@ -94180,7 +94201,7 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html#run--">run()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSourceShipper.html" title="class in org.apache.hadoop.hbase.replication.regionserver">RecoveredReplicationSourceShipper</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html#run--">run()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsThread</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html#run--">run()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsTask</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.NodeFailoverWorker.html#run--">run()</a></span> - Method in class 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">ReplicationSourceManager.NodeFailoverWorker</a></dt>
 <dd>&nbsp;</dd>
@@ -95385,7 +95406,9 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/MetricsConnection.html#scope">scope</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/MetricsConnection.html" title="class in org.apache.hadoop.hbase.client">MetricsConnection</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">scopeWALEdits(WALKey, WALEdit, Configuration, ReplicationSourceManager)</a></span> - Static method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">scopeWALEdits(WALKey, WALEdit)</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>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.conf.Configuration-">scopeWALEdits(WALKey, WALEdit, Configuration)</a></span> - Static 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">Utility method used to set the correct scopes on each log key.</div>
 </dd>
@@ -98895,6 +98918,10 @@ service.</div>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 &nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#setKeepDeletedCells-org.apache.hadoop.hbase.KeepDeletedCells-">setKeepDeletedCells(KeepDeletedCells)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html" title="class in org.apache.hadoop.hbase.regionserver">CustomizedScanInfoBuilder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ScanOptions.html#setKeepDeletedCells-org.apache.hadoop.hbase.KeepDeletedCells-">setKeepDeletedCells(KeepDeletedCells)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ScanOptions.html" title="interface in org.apache.hadoop.hbase.regionserver">ScanOptions</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.html#setKeepDeletes-boolean-">setKeepDeletes(boolean)</a></span> - Method in class org.apache.hadoop.hbase.procedure2.store.<a href="org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.html" title="class in org.apache.hadoop.hbase.procedure2.store">ProcedureStoreTracker</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/NoLimitScannerContext.html#setKeepProgress-boolean-">setKeepProgress(boolean)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/NoLimitScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">NoLimitScannerContext</a></dt>
@@ -117265,8 +117292,6 @@ the order they are declared.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html#visitLogEntryBeforeWrite-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">visitLogEntryBeforeWrite(WALKey, WALEdit)</a></span> - Method in interface 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></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html#visitLogEntryBeforeWrite-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">visitLogEntryBeforeWrite(WALKey, WALEdit)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#visitMeta-org.apache.hadoop.hbase.master.assignment.RegionStateStore.RegionStateVisitor-">visitMeta(RegionStateStore.RegionStateVisitor)</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#visitMetaEntry-org.apache.hadoop.hbase.master.assignment.RegionStateStore.RegionStateVisitor-org.apache.hadoop.hbase.client.Result-">visitMetaEntry(RegionStateStore.RegionStateVisitor, Result)</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>
@@ -117956,7 +117981,7 @@ the order they are declared.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALFactory.html#WALFactory-org.apache.hadoop.conf.Configuration-">WALFactory(Configuration)</a></span> - Constructor for class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALFactory.html#WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">WALFactory(Configuration, List&lt;WALActionsListener&gt;, String)</a></span> - Constructor for class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALFactory.html#WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">WALFactory(Configuration, String)</a></span> - Constructor for class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/WALSplitter.html#walFactory">walFactory</a></span> - Variable 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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 60dc0a4..8a340a1 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -168,8 +168,8 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.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/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/BackupRestoreConstants.BackupCommand.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupRestoreConstants.BackupCommand</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
 </ul>
 </li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/WALKey.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WALKey.html b/devapidocs/org/apache/hadoop/hbase/wal/WALKey.html
index 8c64e35..bbbda4d 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/WALKey.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/WALKey.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.LimitedPrivate(value={"Replication","Coprocesssor"})
-public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.42">WALKey</a>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.41">WALKey</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.html" title="interface in org.apache.hadoop.hbase.regionserver">SequenceId</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a>&gt;</pre>
 <div class="block">Key for WAL Entry.
  Read-only. No Setters. For limited audience such as Coprocessors.</div>
@@ -189,7 +189,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.
 </tr>
 <tr id="i6" 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/WALKey.html#getTablename--">getTablename</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getTableName--">getTableName</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>long</code></td>
@@ -236,7 +236,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>EMPTY_UUIDS</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.46">EMPTY_UUIDS</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.45">EMPTY_UUIDS</a></pre>
 <div class="block">Unmodifiable empty list of UUIDs.</div>
 </li>
 </ul>
@@ -254,7 +254,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.
 <ul class="blockList">
 <li class="blockList">
 <h4>estimatedSerializedSizeOf</h4>
-<pre>default&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.48">estimatedSerializedSizeOf</a>()</pre>
+<pre>default&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.47">estimatedSerializedSizeOf</a>()</pre>
 </li>
 </ul>
 <a name="getEncodedRegionName--">
@@ -263,20 +263,20 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.
 <ul class="blockList">
 <li class="blockList">
 <h4>getEncodedRegionName</h4>
-<pre>byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.55">getEncodedRegionName</a>()</pre>
+<pre>byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.54">getEncodedRegionName</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>encoded region name</dd>
 </dl>
 </li>
 </ul>
-<a name="getTablename--">
+<a name="getTableName--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getTablename</h4>
-<pre><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/wal/WALKey.html#line.60">getTablename</a>()</pre>
+<h4>getTableName</h4>
+<pre><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/wal/WALKey.html#line.59">getTableName</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>table name</dd>
@@ -289,7 +289,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteTime</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.65">getWriteTime</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.64">getWriteTime</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the write time</dd>
@@ -302,7 +302,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceGroup</h4>
-<pre>default&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.70">getNonceGroup</a>()</pre>
+<pre>default&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.69">getNonceGroup</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The nonce group</dd>
@@ -315,7 +315,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonce</h4>
-<pre>default&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.77">getNonce</a>()</pre>
+<pre>default&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.76">getNonce</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The nonce</dd>
@@ -328,7 +328,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.
 <ul class="blockList">
 <li class="blockList">
 <h4>getOriginatingClusterId</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.81">getOriginatingClusterId</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.80">getOriginatingClusterId</a>()</pre>
 </li>
 </ul>
 <a name="getOrigLogSeqNum--">
@@ -337,7 +337,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.
 <ul class="blockList">
 <li class="blockList">
 <h4>getOrigLogSeqNum</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.88">getOrigLogSeqNum</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.87">getOrigLogSeqNum</a>()</pre>
 <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>
 <dl>
@@ -352,7 +352,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toStringMap</h4>
-<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.97">toStringMap</a>()</pre>
+<pre>default&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALKey.html#line.96">toStringMap</a>()</pre>
 <div class="block">Produces a string map for this key. Useful for programmatic use and
  manipulation of the data stored in an WALKeyImpl, for example, printing
  as JSON.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 4e6ae43..2b90be3 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/WALKeyImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/WALKeyImpl.html
@@ -416,7 +416,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" titl
 </tr>
 <tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getTablename--">getTablename</a></span>()</code>&nbsp;</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">
 <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>
@@ -987,16 +987,16 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 </dl>
 </li>
 </ul>
-<a name="getTablename--">
+<a name="getTableName--">
 <!--   -->
 </a>
 <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/wal/WALKeyImpl.html#line.355">getTablename</a>()</pre>
+<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/wal/WALKeyImpl.html#line.355">getTableName</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getTablename--">getTablename</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>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getTableName--">getTableName</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>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>table name</dd>
 </dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html b/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html
index 7ab71b3..bf610c9 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.89">WALProvider.AsyncWriter</a>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.87">WALProvider.AsyncWriter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.WriterBase.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.WriterBase</a></pre>
 </li>
 </ul>
@@ -180,7 +180,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.WriterBa
 <ul class="blockList">
 <li class="blockList">
 <h4>sync</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html#line.90">sync</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html#line.88">sync</a>()</pre>
 </li>
 </ul>
 <a name="append-org.apache.hadoop.hbase.wal.WAL.Entry-">
@@ -189,7 +189,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.WriterBa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>append</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html#line.91">append</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>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.AsyncWriter.html#line.90">append</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>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.Writer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.Writer.html b/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.Writer.html
index 81121e2..c32e76e 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.Writer.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.Writer.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.84">WALProvider.Writer</a>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.81">WALProvider.Writer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.WriterBase.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.WriterBase</a></pre>
 </li>
 </ul>
@@ -180,7 +180,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.WriterBa
 <ul class="blockList">
 <li class="blockList">
 <h4>sync</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.Writer.html#line.85">sync</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.Writer.html#line.82">sync</a>()
    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -194,7 +194,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.WriterBa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>append</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.Writer.html#line.86">append</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>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.Writer.html#line.84">append</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a>&nbsp;entry)
      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.WriterBase.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.WriterBase.html b/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.WriterBase.html
index 9b39fd0..0aae462 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.WriterBase.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.WriterBase.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.78">WALProvider.WriterBase</a>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.75">WALProvider.WriterBase</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre>
 </li>
 </ul>
@@ -169,7 +169,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getLength</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.WriterBase.html#line.79">getLength</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.WriterBase.html#line.76">getLength</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.html b/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.html
index fef32a4..18d1f22 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":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":18,"i6":6,"i7":6,"i8":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";
@@ -107,13 +107,11 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Private
 public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.40">WALProvider</a></pre>
-<div class="block">The Write Ahead Log (WAL) stores all durable edits to the HRegion.
- This interface provides the entry point for all WAL implementors.
+<div class="block">The Write Ahead Log (WAL) stores all durable edits to the HRegion. This interface provides the
+ entry point for all WAL implementors.
  <p>
- See <a href="../../../../../org/apache/hadoop/hbase/wal/FSHLogProvider.html" title="class in org.apache.hadoop.hbase.wal"><code>FSHLogProvider</code></a> for an example implementation.
-
- A single WALProvider will be used for retrieving multiple WALs in a particular region server
- and must be threadsafe.</div>
+ See <a href="../../../../../org/apache/hadoop/hbase/wal/FSHLogProvider.html" title="class in org.apache.hadoop.hbase.wal"><code>FSHLogProvider</code></a> for an example implementation. A single WALProvider will be used for
+ retrieving multiple WALs in a particular region server and must be threadsafe.</div>
 </li>
 </ul>
 </div>
@@ -154,47 +152,56 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WA
 </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>
 </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/wal/WALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>
+<div class="block">Add a <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal"><code>WALActionsListener</code></a>.</div>
+</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/WALProvider.html#close--">close</a></span>()</code>
 <div class="block">shutdown utstanding WALs and clean up any persisted state.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getLogFileSize--">getLogFileSize</a></span>()</code>
 <div class="block">Get size of the log files this provider is managing</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<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/wal/WALProvider.html#getNumLogFiles--">getNumLogFiles</a></span>()</code>
 <div class="block">Get number of the log files this provider is managing</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</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="i4" class="altColor">
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>default <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/wal/WALProvider.html#getWALFileLengthProvider--">getWALFileLengthProvider</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWALs--">getWALs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<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/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
     org.apache.hadoop.conf.Configuration&nbsp;conf,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>
 <div class="block">Set up the provider to create wals.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#shutdown--">shutdown</a></span>()</code>
 <div class="block">persist outstanding WALs to storage and stop accepting new appends.</div>
@@ -215,24 +222,21 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WA
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">
+<a name="init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>init</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.50">init</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.48">init</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
           org.apache.hadoop.conf.Configuration&nbsp;conf,
-          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)
    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Set up the provider to create wals.
- will only be called once per instance.</div>
+<div class="block">Set up the provider to create wals. will only be called once per instance.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>factory</code> - factory that made us may not be null</dd>
 <dd><code>conf</code> - may not be null</dd>
-<dd><code>listeners</code> - may be null</dd>
 <dd><code>providerId</code> - differentiate between providers from one factory. may be null</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
@@ -245,7 +249,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WA
 <ul class="blockList">
 <li class="blockList">
 <h4>getWAL</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.57">getWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)
+<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.54">getWAL</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -263,7 +267,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WA
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALs</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.62">getWALs</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.59">getWALs</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the List of WALs that are used by this server</dd>
@@ -276,11 +280,11 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WA
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.69">shutdown</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.66">shutdown</a>()
        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">persist outstanding WALs to storage and stop accepting new appends.
- This method serves as shorthand for sending a sync to every WAL provided by a given
- implementation. Those WALs will also stop accepting new writes.</div>
+<div class="block">persist outstanding WALs to storage and stop accepting new appends. This method serves as
+ shorthand for sending a sync to every WAL provided by a given implementation. Those WALs will
+ also stop accepting new writes.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
@@ -293,11 +297,11 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WA
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.76">close</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.73">close</a>()
     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">shutdown utstanding WALs and clean up any persisted state.
- Call this method only when you will not need to replay any of the edits to the WALs from
- this provider. After this call completes, the underlying resources should have been reclaimed.</div>
+<div class="block">shutdown utstanding WALs and clean up any persisted state. Call this method only when you will
+ not need to replay any of the edits to the WALs from this provider. After this call completes,
+ the underlying resources should have been reclaimed.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
@@ -310,20 +314,43 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WA
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumLogFiles</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.97">getNumLogFiles</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.96">getNumLogFiles</a>()</pre>
 <div class="block">Get number of the log files this provider is managing</div>
 </li>
 </ul>
 <a name="getLogFileSize--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getLogFileSize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.102">getLogFileSize</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.101">getLogFileSize</a>()</pre>
 <div class="block">Get size of the log files this provider is managing</div>
 </li>
 </ul>
+<a name="addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addWALActionsListener</h4>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.110">addWALActionsListener</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
+<div class="block">Add a <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal"><code>WALActionsListener</code></a>.
+ <p>
+ Notice that you must call this method before calling <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-"><code>getWAL(RegionInfo)</code></a> as this method
+ will not effect the <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal"><code>WAL</code></a> which has already been created. And as long as we can only it
+ when initialization, it is not thread safe.</div>
+</li>
+</ul>
+<a name="getWALFileLengthProvider--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getWALFileLengthProvider</h4>
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.html#line.112">getWALFileLengthProvider</a>()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Reader.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Reader.html b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Reader.html
index d86bd4b..dc0626c 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Reader.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Reader.html
@@ -258,8 +258,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a></code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractFSWALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#openReader-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">openReader</a></span>(org.apache.hadoop.fs.Path&nbsp;path,
           org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
-<div class="block">Opens WAL reader with retries and
- additional exception handling</div>
+<div class="block">Opens WAL reader with retries and additional exception handling</div>
 </td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALEdit.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALEdit.html b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALEdit.html
index 913ce99..8006bd2 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALEdit.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALEdit.html
@@ -710,19 +710,18 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">Replication.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">scopeWALEdits</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationSourceManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">scopeWALEdits</a></span>(<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)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationSourceManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.conf.Configuration-">scopeWALEdits</a></span>(<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,
-             <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationManager)</code>
+             org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
 <div class="block">Utility method used to set the correct scopes on each log key.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Replication.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#visitLogEntryBeforeWrite-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">visitLogEntryBeforeWrite</a></span>(<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)</code>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALFactory.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALFactory.html b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALFactory.html
index 9e244bf..84d8c1f 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALFactory.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALFactory.html
@@ -188,32 +188,28 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractFSWALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
+<td class="colLast"><span class="typeNameLabel">AbstractFSWALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
     org.apache.hadoop.conf.Configuration&nbsp;conf,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">RegionGroupingProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
+<td class="colLast"><span class="typeNameLabel">RegionGroupingProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
     org.apache.hadoop.conf.Configuration&nbsp;conf,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">WALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
+<td class="colLast"><span class="typeNameLabel">WALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
     org.apache.hadoop.conf.Configuration&nbsp;conf,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>
 <div class="block">Set up the provider to create wals.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">DisabledWALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
+<td class="colLast"><span class="typeNameLabel">DisabledWALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/DisabledWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
     org.apache.hadoop.conf.Configuration&nbsp;conf,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALKey.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALKey.html b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALKey.html
index 452cbb7..51a84a4 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALKey.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALKey.html
@@ -345,19 +345,18 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">Replication.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager-">scopeWALEdits</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="interface in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationSourceManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">scopeWALEdits</a></span>(<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)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationSourceManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#scopeWALEdits-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.conf.Configuration-">scopeWALEdits</a></span>(<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,
-             <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceManager</a>&nbsp;replicationManager)</code>
+             org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
 <div class="block">Utility method used to set the correct scopes on each log key.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Replication.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#visitLogEntryBeforeWrite-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">visitLogEntryBeforeWrite</a></span>(<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)</code>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALProvider.html b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALProvider.html
index 9c03263..2db698a 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WALProvider.html
@@ -83,6 +83,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver</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>
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.wal">org.apache.hadoop.hbase.wal</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -91,6 +99,74 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.regionserver">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.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/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</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 static void</code></td>
+<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createNewReplicationInstance-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">createNewReplicationInstance</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                            <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;server,
+                            org.apache.hadoop.fs.FileSystem&nbsp;walFs,
+                            org.apache.hadoop.fs.Path&nbsp;walDir,
+                            org.apache.hadoop.fs.Path&nbsp;oldWALDir,
+                            <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)</code>
+<div class="block">Load the replication executorService objects, if any</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReplicationService.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">initialize</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;rs,
+          org.apache.hadoop.fs.FileSystem&nbsp;fs,
+          org.apache.hadoop.fs.Path&nbsp;logdir,
+          org.apache.hadoop.fs.Path&nbsp;oldLogDir,
+          <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)</code>
+<div class="block">Initializes the replication service object.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static &lt;T extends <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a>&gt;<br>T</code></td>
+<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#newReplicationInstance-java.lang.String-java.lang.Class-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">newReplicationInstance</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classname,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;xface,
+                      org.apache.hadoop.conf.Configuration&nbsp;conf,
+                      <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;server,
+                      org.apache.hadoop.fs.FileSystem&nbsp;walFs,
+                      org.apache.hadoop.fs.Path&nbsp;logDir,
+                      org.apache.hadoop.fs.Path&nbsp;oldLogDir,
+                      <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)</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/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</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/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</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>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Replication.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">initialize</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
+          org.apache.hadoop.fs.FileSystem&nbsp;fs,
+          org.apache.hadoop.fs.Path&nbsp;logDir,
+          org.apache.hadoop.fs.Path&nbsp;oldLogDir,
+          <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.wal">
 <!--   -->
 </a>
@@ -183,8 +259,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></td>
-<td class="colLast"><span class="typeNameLabel">WALFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#createProvider-java.lang.Class-java.util.List-java.lang.String-">createProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt;&nbsp;clazz,
-              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
+<td class="colLast"><span class="typeNameLabel">WALFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#createProvider-java.lang.Class-java.lang.String-">createProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt;&nbsp;clazz,
               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -201,9 +276,8 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></td>
-<td class="colLast"><span class="typeNameLabel">WALFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#getProvider-java.lang.String-java.lang.String-java.util.List-java.lang.String-">getProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<td class="colLast"><span class="typeNameLabel">WALFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#getProvider-java.lang.String-java.lang.String-java.lang.String-">getProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;defaultValue,
-           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>
 <div class="block">instantiate a provider from a config property.</div>
 </td>
@@ -237,8 +311,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></td>
-<td class="colLast"><span class="typeNameLabel">WALFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#createProvider-java.lang.Class-java.util.List-java.lang.String-">createProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt;&nbsp;clazz,
-              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
+<td class="colLast"><span class="typeNameLabel">WALFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#createProvider-java.lang.Class-java.lang.String-">createProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt;&nbsp;clazz,
               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>&nbsp;</td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index a29ad5c..bb5b957 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -110,7 +110,7 @@
 </li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WAL.Entry</span></a></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.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory</span></a> (implements org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</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>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALPrettyPrinter.html" title="class in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALPrettyPrinter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.html" title="class in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALSplitter</span></a></li>
@@ -189,8 +189,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-use.html b/devapidocs/org/apache/hadoop/hbase/wal/package-use.html
index a1b5e71..11bf6f0 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-use.html
@@ -245,6 +245,11 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALProvider.html#org.apache.hadoop.hbase.regionserver">WALProvider</a>
+<div class="block">The Write Ahead Log (WAL) stores all durable edits to the HRegion.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALSplitter.MutationReplay.html#org.apache.hadoop.hbase.regionserver">WALSplitter.MutationReplay</a>
 <div class="block">A struct used by getMutationsFromWALEntry</div>
 </td>
@@ -365,28 +370,33 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALProvider.html#org.apache.hadoop.hbase.replication.regionserver">WALProvider</a>
+<div class="block">The Write Ahead Log (WAL) stores all durable edits to the HRegion.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALSplitter.EntryBuffers.html#org.apache.hadoop.hbase.replication.regionserver">WALSplitter.EntryBuffers</a>
 <div class="block">Class which accumulates edits and separates them into a buffer per region
  while simultaneously accounting RAM usage.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALSplitter.OutputSink.html#org.apache.hadoop.hbase.replication.regionserver">WALSplitter.OutputSink</a>
 <div class="block">The following class is an abstraction class to provide a common interface to support
  different ways of consuming recovered edits.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALSplitter.PipelineController.html#org.apache.hadoop.hbase.replication.regionserver">WALSplitter.PipelineController</a>
 <div class="block">Contains some methods to control WAL-entries producer / consumer interactions</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALSplitter.RegionEntryBuffer.html#org.apache.hadoop.hbase.replication.regionserver">WALSplitter.RegionEntryBuffer</a>
 <div class="block">A buffer of some number of edits for a given region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/wal/class-use/WALSplitter.SinkWriter.html#org.apache.hadoop.hbase.replication.regionserver">WALSplitter.SinkWriter</a>
 <div class="block">Class wraps the actual writer which writes data out and related statistics</div>
 </td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index d749882..a9e26f2 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -783,7 +783,7 @@
 <li type="circle">org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.IndexStatistics.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">BucketAllocator.IndexStatistics</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">BucketCache</span></a> (implements org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>, 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.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">BucketCache.BucketEntry</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">BucketCache.BucketEntryGroup</span></a> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">BucketCache.BucketEntryGroup</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.bucket.<a href="org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">BucketCache.RAMQueueEntry</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.BufferCallEvent.html" title="class in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferCallBeforeInitHandler.BufferCallEvent</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/BufferChain.html" title="class in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferChain</span></a></li>
@@ -3023,7 +3023,8 @@
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.ServerOperation.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">RSProcedureDispatcher.ServerOperation</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Replication</span></a> (implements org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a>, org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a>, 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/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Replication</span></a> (implements org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a>, org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Replication.ReplicationStatisticsTask</span></a> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.client.replication.<a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html" title="class in org.apache.hadoop.hbase.client.replication"><span class="typeNameLink">ReplicationAdmin</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.util.hbck.<a href="org/apache/hadoop/hbase/util/hbck/ReplicationChecker.html" title="class in org.apache.hadoop.hbase.util.hbck"><span class="typeNameLink">ReplicationChecker</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/ReplicationEndpoint.Context.html" title="class in org.apache.hadoop.hbase.replication"><span class="typeNameLink">ReplicationEndpoint.Context</span></a></li>
@@ -3691,7 +3692,6 @@
 </li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.TimeoutExecutorThread.html" title="class in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RemoteProcedureDispatcher.TimeoutExecutorThread</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RemoteProcedureResultReporter.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">RemoteProcedureResultReporter</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">Replication.ReplicationStatisticsThread</span></a></li>
 <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>
 <li type="circle">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"><span class="typeNameLink">ReplicationSourceShipper</span></a>
 <ul>
@@ -4076,7 +4076,7 @@
 </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/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">WALEntryStream</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>)</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> (implements org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</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>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/WALPrettyPrinter.html" title="class in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALPrettyPrinter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.SyncMetrics.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal"><span class="typeNameLink">WALProcedureStore.SyncMetrics</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 a84ba8e..847cb33 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 = "9272f40a5c8afeeaa9569688c0fabfcd9264ee5e";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "8143d5afa4a34c5f06a22e30b5017958b8c3f60c";<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 = "Thu Feb  1 14:41:30 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Fri Feb  2 14:40:59 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 = "4cbd9302c514bcdc05cd4dcff56edce8";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "29cb119e31f9c1e124b660f7b4356177";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html b/devapidocs/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html
index ed218f3..0d5613d 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/RegionGroupingProvider.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};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -277,27 +277,33 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</code>
+<div class="block">Add a <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal"><code>WALActionsListener</code></a>.</div>
+</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/RegionGroupingProvider.html#close--">close</a></span>()</code>
 <div class="block">shutdown utstanding WALs and clean up any persisted state.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#createProvider-java.lang.String-">createProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;group)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<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/wal/RegionGroupingProvider.html#getLogFileSize--">getLogFileSize</a></span>()</code>
 <div class="block">Get size of the log files this provider is managing</div>
 </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/RegionGroupingProvider.html#getNumLogFiles--">getNumLogFiles</a></span>()</code>
 <div class="block">Get number of the log files this provider is managing</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.RegionGroupingStrategy.html" title="interface in org.apache.hadoop.hbase.wal">RegionGroupingProvider.RegionGroupingStrategy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#getStrategy-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">getStrategy</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
@@ -305,28 +311,27 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <div class="block">instantiate a strategy from a config property.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</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="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#getWAL-java.lang.String-">getWAL</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;group)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#getWALs--">getWALs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
     org.apache.hadoop.conf.Configuration&nbsp;conf,
-    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>
 <div class="block">Set up the provider to create wals.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<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/wal/RegionGroupingProvider.html#shutdown--">shutdown</a></span>()</code>
 <div class="block">persist outstanding WALs to storage and stop accepting new appends.</div>
@@ -340,6 +345,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://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="http://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="http://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.wal.WALProvider">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWALFileLengthProvider--">getWALFileLengthProvider</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -528,7 +540,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 </dl>
 </li>
 </ul>
-<a name="init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">
+<a name="init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -536,19 +548,16 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <h4>init</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.140">init</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
                  org.apache.hadoop.conf.Configuration&nbsp;conf,
-                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)
           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">WALProvider</a></code></span></div>
-<div class="block">Set up the provider to create wals.
- will only be called once per instance.</div>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">WALProvider</a></code></span></div>
+<div class="block">Set up the provider to create wals. will only be called once per instance.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">init</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>factory</code> - factory that made us may not be null</dd>
 <dd><code>conf</code> - may not be null</dd>
-<dd><code>listeners</code> - may be null</dd>
 <dd><code>providerId</code> - differentiate between providers from one factory. may be null</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
@@ -561,7 +570,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>createProvider</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.160">createProvider</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;group)
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.158">createProvider</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;group)
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -575,7 +584,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALs</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.169">getWALs</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.167">getWALs</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWALs--">getWALs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
@@ -590,7 +599,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getWAL</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.177">getWAL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;group)
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.171">getWAL</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;group)
             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -604,7 +613,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getWAL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.195">getWAL</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;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.190">getWAL</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -624,12 +633,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.215">shutdown</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.210">shutdown</a>()
               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#shutdown--">WALProvider</a></code></span></div>
-<div class="block">persist outstanding WALs to storage and stop accepting new appends.
- This method serves as shorthand for sending a sync to every WAL provided by a given
- implementation. Those WALs will also stop accepting new writes.</div>
+<div class="block">persist outstanding WALs to storage and stop accepting new appends. This method serves as
+ shorthand for sending a sync to every WAL provided by a given implementation. Those WALs will
+ also stop accepting new writes.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#shutdown--">shutdown</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
@@ -644,12 +653,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.235">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.230">close</a>()
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#close--">WALProvider</a></code></span></div>
-<div class="block">shutdown utstanding WALs and clean up any persisted state.
- Call this method only when you will not need to replay any of the edits to the WALs from
- this provider. After this call completes, the underlying resources should have been reclaimed.</div>
+<div class="block">shutdown utstanding WALs and clean up any persisted state. Call this method only when you will
+ not need to replay any of the edits to the WALs from this provider. After this call completes,
+ the underlying resources should have been reclaimed.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#close--">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
@@ -664,7 +673,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumLogFiles</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.264">getNumLogFiles</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.259">getNumLogFiles</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getNumLogFiles--">WALProvider</a></code></span></div>
 <div class="block">Get number of the log files this provider is managing</div>
 <dl>
@@ -676,10 +685,10 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <a name="getLogFileSize--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getLogFileSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.273">getLogFileSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.268">getLogFileSize</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getLogFileSize--">WALProvider</a></code></span></div>
 <div class="block">Get size of the log files this provider is managing</div>
 <dl>
@@ -688,6 +697,25 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 </dl>
 </li>
 </ul>
+<a name="addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>addWALActionsListener</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#line.277">addWALActionsListener</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;listener)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">WALProvider</a></code></span></div>
+<div class="block">Add a <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal"><code>WALActionsListener</code></a>.
+ <p>
+ Notice that you must call this method before calling <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-"><code>WALProvider.getWAL(RegionInfo)</code></a> as this method
+ will not effect the <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal"><code>WAL</code></a> which has already been created. And as long as we can only it
+ when initialization, it is not thread safe.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#addWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">addWALActionsListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/WALFactory.Providers.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WALFactory.Providers.html b/devapidocs/org/apache/hadoop/hbase/wal/WALFactory.Providers.html
index a82b870..8506464 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/WALFactory.Providers.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/WALFactory.Providers.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.72">WALFactory.Providers</a>
+<pre>static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.67">WALFactory.Providers</a>
 extends <a href="http://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/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal">WALFactory.Providers</a>&gt;</pre>
 <div class="block">Maps between configuration names for providers and implementation classes.</div>
 </li>
@@ -236,7 +236,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>defaultProvider</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal">WALFactory.Providers</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.73">defaultProvider</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal">WALFactory.Providers</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.68">defaultProvider</a></pre>
 </li>
 </ul>
 <a name="filesystem">
@@ -245,7 +245,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>filesystem</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal">WALFactory.Providers</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.74">filesystem</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal">WALFactory.Providers</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.69">filesystem</a></pre>
 </li>
 </ul>
 <a name="multiwal">
@@ -254,7 +254,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>multiwal</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal">WALFactory.Providers</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.75">multiwal</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal">WALFactory.Providers</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.70">multiwal</a></pre>
 </li>
 </ul>
 <a name="asyncfs">
@@ -263,7 +263,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>asyncfs</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal">WALFactory.Providers</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.76">asyncfs</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal">WALFactory.Providers</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.71">asyncfs</a></pre>
 </li>
 </ul>
 </li>
@@ -280,7 +280,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>clazz</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.78">clazz</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.73">clazz</a></pre>
 </li>
 </ul>
 </li>
@@ -297,7 +297,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/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal">WALFactory.Providers</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.72">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal">WALFactory.Providers</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.67">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:
@@ -317,7 +317,7 @@ for (WALFactory.Providers c : WALFactory.Providers.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal">WALFactory.Providers</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.72">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal">WALFactory.Providers</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.Providers.html#line.67">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/wal/WALFactory.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WALFactory.html b/devapidocs/org/apache/hadoop/hbase/wal/WALFactory.html
index c444745..97cd010 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/WALFactory.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/WALFactory.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":9,"i7":9,"i8":10,"i9":9,"i10":10,"i11":9,"i12":9,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":9,"i7":9,"i8":10,"i9":9,"i10":10,"i11":9,"i12":9,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":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";
@@ -107,16 +107,11 @@ var activeTableTab = "activeTableTab";
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a></dd>
-</dl>
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.65">WALFactory</a>
-extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a></pre>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.60">WALFactory</a>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Entry point for users of the Write Ahead Log.
  Acts as the shim between internal use and the particular WALProvider we use to handle wal
  requests.
@@ -249,8 +244,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">WALFactory</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
-          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">WALFactory</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;factoryId)</code>&nbsp;</td>
 </tr>
 </table>
@@ -276,8 +270,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#createProvider-java.lang.Class-java.util.List-java.lang.String-">createProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt;&nbsp;clazz,
-              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#createProvider-java.lang.Class-java.lang.String-">createProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt;&nbsp;clazz,
               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
@@ -360,44 +353,39 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#getInstance-org.apache.hadoop.conf.Configuration-">getInstance</a></span>(org.apache.hadoop.conf.Configuration&nbsp;configuration)</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/OptionalLong.html?is-external=true" title="class or interface in java.util">OptionalLong</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#getLogFileSizeIfBeingWritten-org.apache.hadoop.fs.Path-">getLogFileSizeIfBeingWritten</a></span>(org.apache.hadoop.fs.Path&nbsp;path)</code>&nbsp;</td>
-</tr>
-<tr id="i14" class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#getMetaProvider--">getMetaProvider</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#getMetaWALProvider--">getMetaWALProvider</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#getProvider-java.lang.String-java.lang.String-java.util.List-java.lang.String-">getProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#getProvider-java.lang.String-java.lang.String-java.lang.String-">getProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;defaultValue,
-           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)</code>
 <div class="block">instantiate a provider from a config property.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#getProviderClass-java.lang.String-java.lang.String-">getProviderClass</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;defaultValue)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#getWAL-org.apache.hadoop.hbase.client.RegionInfo-">getWAL</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="i19" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#getWALProvider--">getWALProvider</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#getWALs--">getWALs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html#shutdown--">shutdown</a></span>()</code>
 <div class="block">Tell the underlying WAL providers to shut down, but do not clean up underlying storage.</div>
@@ -431,7 +419,7 @@ implements <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/wal/WALFactory.html#line.67">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.62">LOG</a></pre>
 </li>
 </ul>
 <a name="WAL_PROVIDER">
@@ -440,7 +428,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>WAL_PROVIDER</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.84">WAL_PROVIDER</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.79">WAL_PROVIDER</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.wal.WALFactory.WAL_PROVIDER">Constant Field Values</a></dd>
@@ -453,7 +441,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_WAL_PROVIDER</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.85">DEFAULT_WAL_PROVIDER</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.80">DEFAULT_WAL_PROVIDER</a></pre>
 </li>
 </ul>
 <a name="META_WAL_PROVIDER">
@@ -462,7 +450,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>META_WAL_PROVIDER</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.87">META_WAL_PROVIDER</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.82">META_WAL_PROVIDER</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.wal.WALFactory.META_WAL_PROVIDER">Constant Field Values</a></dd>
@@ -475,7 +463,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_META_WAL_PROVIDER</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.88">DEFAULT_META_WAL_PROVIDER</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.83">DEFAULT_META_WAL_PROVIDER</a></pre>
 </li>
 </ul>
 <a name="factoryId">
@@ -484,7 +472,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>factoryId</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.90">factoryId</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.85">factoryId</a></pre>
 </li>
 </ul>
 <a name="provider">
@@ -493,7 +481,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>provider</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.91">provider</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.86">provider</a></pre>
 </li>
 </ul>
 <a name="metaProvider">
@@ -502,7 +490,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>metaProvider</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.95">metaProvider</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.90">metaProvider</a></pre>
 </li>
 </ul>
 <a name="logReaderClass">
@@ -511,7 +499,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>logReaderClass</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html" title="interface in org.apache.hadoop.hbase.wal">AbstractFSWALProvider.Reader</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.100">logReaderClass</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html" title="interface in org.apache.hadoop.hbase.wal">AbstractFSWALProvider.Reader</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.95">logReaderClass</a></pre>
 <div class="block">Configuration-specified WAL Reader used when a custom reader is requested</div>
 </li>
 </ul>
@@ -521,7 +509,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>timeoutMillis</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.105">timeoutMillis</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.100">timeoutMillis</a></pre>
 <div class="block">How long to attempt opening in-recovery wals</div>
 </li>
 </ul>
@@ -531,7 +519,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <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/wal/WALFactory.html#line.107">conf</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.102">conf</a></pre>
 </li>
 </ul>
 <a name="singleton">
@@ -540,7 +528,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>singleton</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.369">singleton</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.362">singleton</a></pre>
 </li>
 </ul>
 <a name="SINGLETON_ID">
@@ -549,7 +537,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SINGLETON_ID</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.370">SINGLETON_ID</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.363">SINGLETON_ID</a></pre>
 </li>
 </ul>
 </li>
@@ -566,26 +554,24 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>WALFactory</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.110">WALFactory</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.105">WALFactory</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 </li>
 </ul>
-<a name="WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">
+<a name="WALFactory-org.apache.hadoop.conf.Configuration-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALFactory</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.169">WALFactory</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
-                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.164">WALFactory</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;factoryId)
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>conf</code> - must not be null, will keep a reference to read params in later reader/writer
-     instances.</dd>
-<dd><code>listeners</code> - may be null. will be given to all created wals (and not meta-wals)</dd>
+          instances.</dd>
 <dd><code>factoryId</code> - a unique identifier for this factory. used i.e. by filesystem implementations
-     to make a directory</dd>
+          to make a directory</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
@@ -605,18 +591,17 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>getProviderClass</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.127">getProviderClass</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.122">getProviderClass</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;defaultValue)</pre>
 </li>
 </ul>
-<a name="createProvider-java.lang.Class-java.util.List-java.lang.String-">
+<a name="createProvider-java.lang.Class-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>createProvider</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.138">createProvider</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt;&nbsp;clazz,
-                           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
+<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.133">createProvider</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&gt;&nbsp;clazz,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -625,19 +610,18 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 </dl>
 </li>
 </ul>
-<a name="getProvider-java.lang.String-java.lang.String-java.util.List-java.lang.String-">
+<a name="getProvider-java.lang.String-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getProvider</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.156">getProvider</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.151">getProvider</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;defaultValue,
-                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">instantiate a provider from a config property.
- requires conf to have already been set (as well as anything the provider might need to read).</div>
+<div class="block">instantiate a provider from a config property. requires conf to have already been set (as well
+ as anything the provider might need to read).</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
@@ -650,7 +634,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.195">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.189">close</a>()
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Shutdown all WALs and clean up any underlying storage.
  Use only when you will not need to replay and edits that have gone to any wals from this
@@ -667,7 +651,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.212">shutdown</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.206">shutdown</a>()
               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Tell the underlying WAL providers to shut down, but do not clean up underlying storage.
  If you are not ending cleanly and will need to replay edits from this factory's wals,
@@ -684,7 +668,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALs</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.228">getWALs</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.222">getWALs</a>()</pre>
 </li>
 </ul>
 <a name="getMetaProvider--">
@@ -693,7 +677,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetaProvider</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.232">getMetaProvider</a>()
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.226">getMetaProvider</a>()
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -707,7 +691,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>getWAL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.253">getWAL</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;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.246">getWAL</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="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -723,7 +707,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>createReader</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.263">createReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.256">createReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                org.apache.hadoop.fs.Path&nbsp;path)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -738,7 +722,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>createReader</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.274">createReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.267">createReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                org.apache.hadoop.fs.Path&nbsp;path,
                                <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -759,7 +743,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>createReader</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.279">createReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.272">createReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                org.apache.hadoop.fs.Path&nbsp;path,
                                <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
                                boolean&nbsp;allowCustom)
@@ -776,7 +760,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>createWALWriter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.351">createWALWriter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.344">createWALWriter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                           org.apache.hadoop.fs.Path&nbsp;path)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create a writer for the WAL.
@@ -797,7 +781,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>createRecoveredEditsWriter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.360">createRecoveredEditsWriter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.353">createRecoveredEditsWriter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                      org.apache.hadoop.fs.Path&nbsp;path)
                                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">should be package-private, visible for recovery testing.</div>
@@ -815,7 +799,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>getInstance</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.373">getInstance</a>(org.apache.hadoop.conf.Configuration&nbsp;configuration)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.366">getInstance</a>(org.apache.hadoop.conf.Configuration&nbsp;configuration)</pre>
 </li>
 </ul>
 <a name="createReader-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">
@@ -824,7 +808,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>createReader</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.397">createReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.390">createReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                       org.apache.hadoop.fs.Path&nbsp;path,
                                       org.apache.hadoop.conf.Configuration&nbsp;configuration)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -844,7 +828,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>createReader</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.407">createReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.400">createReader</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                org.apache.hadoop.fs.Path&nbsp;path,
                                org.apache.hadoop.conf.Configuration&nbsp;configuration,
                                <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
@@ -865,7 +849,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>createReaderIgnoreCustomClass</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.418">createReaderIgnoreCustomClass</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.411">createReaderIgnoreCustomClass</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                        org.apache.hadoop.fs.Path&nbsp;path,
                                                        org.apache.hadoop.conf.Configuration&nbsp;configuration)
                                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -886,7 +870,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>createRecoveredEditsWriter</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.427">createRecoveredEditsWriter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.420">createRecoveredEditsWriter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                      org.apache.hadoop.fs.Path&nbsp;path,
                                                      org.apache.hadoop.conf.Configuration&nbsp;configuration)
                                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -905,7 +889,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>createWALWriter</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.438">createWALWriter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.431">createWALWriter</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                  org.apache.hadoop.fs.Path&nbsp;path,
                                                  org.apache.hadoop.conf.Configuration&nbsp;configuration)
                                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -924,29 +908,16 @@ implements <a href="../../../../../org/apache/hadoop/hbase/replication/regionser
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALProvider</h4>
-<pre>public final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.444">getWALProvider</a>()</pre>
+<pre>public final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.437">getWALProvider</a>()</pre>
 </li>
 </ul>
 <a name="getMetaWALProvider--">
 <!--   -->
 </a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getMetaWALProvider</h4>
-<pre>public final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.448">getMetaWALProvider</a>()</pre>
-</li>
-</ul>
-<a name="getLogFileSizeIfBeingWritten-org.apache.hadoop.fs.Path-">
-<!--   -->
-</a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getLogFileSizeIfBeingWritten</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/OptionalLong.html?is-external=true" title="class or interface in java.util">OptionalLong</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.453">getLogFileSizeIfBeingWritten</a>(org.apache.hadoop.fs.Path&nbsp;path)</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html#getLogFileSizeIfBeingWritten-org.apache.hadoop.fs.Path-">getLogFileSizeIfBeingWritten</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a></code></dd>
-</dl>
+<h4>getMetaWALProvider</h4>
+<pre>public final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALFactory.html#line.441">getMetaWALProvider</a>()</pre>
 </li>
 </ul>
 </li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html
index b7c24d7..eecd2f9 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.StatisticsThread.html
@@ -44,792 +44,792 @@
 <span class="sourceLineNo">036</span>import java.util.List;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import java.util.Map;<a name="line.37"></a>
 <span class="sourceLineNo">038</span>import java.util.NavigableSet;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.Objects;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.PriorityQueue;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.concurrent.ArrayBlockingQueue;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.concurrent.BlockingQueue;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.ConcurrentMap;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentSkipListSet;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.Executors;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.TimeUnit;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.atomic.LongAdder;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.locks.Lock;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.conf.Configuration;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.io.hfile.BlockPriority;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.hfile.BlockType;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.hfile.CacheStats;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.hfile.Cacheable;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.hfile.Cacheable.MemoryType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializer;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializerIdManager;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.CachedBlock;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileBlock;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.IdReadWriteLock;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.util.IdReadWriteLock.ReferenceType;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.util.StringUtils;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.slf4j.Logger;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.slf4j.LoggerFactory;<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>/**<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * BucketCache uses {@link BucketAllocator} to allocate/free blocks, and uses<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * BucketCache#ramCache and BucketCache#backingMap in order to<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * determine if a given element is in the cache. The bucket cache can use on-heap or<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * off-heap memory {@link ByteBufferIOEngine} or in a file {@link FileIOEngine} to<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * store/read the block data.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> *<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;Eviction is via a similar algorithm as used in<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache}<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;p&gt;BucketCache can be used as mainly a block cache (see<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * {@link org.apache.hadoop.hbase.io.hfile.CombinedBlockCache}), combined with<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * LruBlockCache to decrease CMS GC and heap fragmentation.<a name="line.97"></a>
-<span class="sourceLineNo">098</span> *<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * &lt;p&gt;It also can be used as a secondary cache (e.g. using a file on ssd/fusionio to store<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * blocks) to enlarge cache space via<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache#setVictimCache}<a name="line.101"></a>
-<span class="sourceLineNo">102</span> */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>@InterfaceAudience.Private<a name="line.103"></a>
-<span class="sourceLineNo">104</span>public class BucketCache implements BlockCache, HeapSize {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  private static final Logger LOG = LoggerFactory.getLogger(BucketCache.class);<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  /** Priority buckets config */<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  static final String SINGLE_FACTOR_CONFIG_NAME = "hbase.bucketcache.single.factor";<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  static final String MULTI_FACTOR_CONFIG_NAME = "hbase.bucketcache.multi.factor";<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  static final String MEMORY_FACTOR_CONFIG_NAME = "hbase.bucketcache.memory.factor";<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  static final String EXTRA_FREE_FACTOR_CONFIG_NAME = "hbase.bucketcache.extrafreefactor";<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  static final String ACCEPT_FACTOR_CONFIG_NAME = "hbase.bucketcache.acceptfactor";<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  static final String MIN_FACTOR_CONFIG_NAME = "hbase.bucketcache.minfactor";<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /** Priority buckets */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  @VisibleForTesting<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  static final float DEFAULT_SINGLE_FACTOR = 0.25f;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  static final float DEFAULT_MULTI_FACTOR = 0.50f;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  static final float DEFAULT_MEMORY_FACTOR = 0.25f;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  static final float DEFAULT_MIN_FACTOR = 0.85f;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private static final float DEFAULT_EXTRA_FREE_FACTOR = 0.10f;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  private static final float DEFAULT_ACCEPT_FACTOR = 0.95f;<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  // Number of blocks to clear for each of the bucket size that is full<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  private static final int DEFAULT_FREE_ENTIRE_BLOCK_FACTOR = 2;<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>  /** Statistics thread */<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  private static final int statThreadPeriod = 5 * 60;<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  final static int DEFAULT_WRITER_THREADS = 3;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  final static int DEFAULT_WRITER_QUEUE_ITEMS = 64;<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  // Store/read block data<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  final IOEngine ioEngine;<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  // Store the block in this map before writing it to cache<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  @VisibleForTesting<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  final ConcurrentMap&lt;BlockCacheKey, RAMQueueEntry&gt; ramCache;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  // In this map, store the block's meta data like offset, length<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  @VisibleForTesting<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  ConcurrentMap&lt;BlockCacheKey, BucketEntry&gt; backingMap;<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * Flag if the cache is enabled or not... We shut it off if there are IO<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * errors for some time, so that Bucket IO exceptions/errors don't bring down<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * the HBase server.<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   */<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private volatile boolean cacheEnabled;<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 list of writer queues.  We have a queue per {@link WriterThread} we have running.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * In other words, the work adding blocks to the BucketCache is divided up amongst the<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * running WriterThreads.  Its done by taking hash of the cache key modulo queue count.<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * WriterThread when it runs takes whatever has been recently added and 'drains' the entries<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * to the BucketCache.  It then updates the ramCache and backingMap accordingly.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @VisibleForTesting<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  final ArrayList&lt;BlockingQueue&lt;RAMQueueEntry&gt;&gt; writerQueues = new ArrayList&lt;&gt;();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  @VisibleForTesting<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  final WriterThread[] writerThreads;<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>  /** Volatile boolean to track if free space is in process or not */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  private volatile boolean freeInProgress = false;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  private final Lock freeSpaceLock = new ReentrantLock();<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>  private UniqueIndexMap&lt;Integer&gt; deserialiserMap = new UniqueIndexMap&lt;&gt;();<a name="line.167"></a>
-<span class="sourceLineNo">168</span><a name="line.168"></a>
-<span class="sourceLineNo">169</span>  private final LongAdder realCacheSize = new LongAdder();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  private final LongAdder heapSize = new LongAdder();<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  /** Current number of cached elements */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  private final LongAdder blockNumber = new LongAdder();<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  /** Cache access count (sequential ID) */<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  private final AtomicLong accessCount = new AtomicLong();<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>  private static final int DEFAULT_CACHE_WAIT_TIME = 50;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  // Used in test now. If the flag is false and the cache speed is very fast,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  // bucket cache will skip some blocks when caching. If the flag is true, we<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  // will wait blocks flushed to IOEngine for some time when caching<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  boolean wait_when_cache = false;<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  private final BucketCacheStats cacheStats = new BucketCacheStats();<a name="line.183"></a>
-<span class="sourceLineNo">184</span><a name="line.184"></a>
-<span class="sourceLineNo">185</span>  private final String persistencePath;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  private final long cacheCapacity;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  /** Approximate block size */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private final long blockSize;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  /** Duration of IO errors tolerated before we disable cache, 1 min as default */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private final int ioErrorsTolerationDuration;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  // 1 min<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  public static final int DEFAULT_ERROR_TOLERATION_DURATION = 60 * 1000;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>  // Start time of first IO error when reading or writing IO Engine, it will be<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  // reset after a successful read/write.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private volatile long ioErrorStartTime = -1;<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 ReentrantReadWriteLock to lock on a particular block identified by offset.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * The purpose of this is to avoid freeing the block which is being read.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * &lt;p&gt;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * Key set of offsets in BucketCache is limited so soft reference is the best choice here.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  @VisibleForTesting<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  final IdReadWriteLock offsetLock = new IdReadWriteLock(ReferenceType.SOFT);<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  private final NavigableSet&lt;BlockCacheKey&gt; blocksByHFile =<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      new ConcurrentSkipListSet&lt;&gt;(new Comparator&lt;BlockCacheKey&gt;() {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        public int compare(BlockCacheKey a, BlockCacheKey b) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>          int nameComparison = a.getHfileName().compareTo(b.getHfileName());<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          if (nameComparison != 0) {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>            return nameComparison;<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>          if (a.getOffset() == b.getOffset()) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>            return 0;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>          } else if (a.getOffset() &lt; b.getOffset()) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>            return -1;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>          }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>          return 1;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      });<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  /** Statistics thread schedule pool (for heavy debugging, could remove) */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private final ScheduledExecutorService scheduleThreadPool = Executors.newScheduledThreadPool(1,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    new ThreadFactoryBuilder().setNameFormat("BucketCacheStatsExecutor").setDaemon(true).build());<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  // Allocate or free space for the block<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  private BucketAllocator bucketAllocator;<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span>  /** Acceptable size of cache (no evictions if size &lt; acceptable) */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private float acceptableFactor;<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /** Minimum threshold of cache (when evicting, evict until size &lt; min) */<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  private float minFactor;<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /** Free this floating point factor of extra blocks when evicting. For example free the number of blocks requested * (1 + extraFreeFactor) */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private float extraFreeFactor;<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /** Single access bucket size */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private float singleFactor;<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /** Multiple access bucket size */<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  private float multiFactor;<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  /** In-memory bucket size */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private float memoryFactor;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  public BucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes,<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      int writerThreadNum, int writerQLen, String persistencePath) throws FileNotFoundException,<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      IOException {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    this(ioEngineName, capacity, blockSize, bucketSizes, writerThreadNum, writerQLen,<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      persistencePath, DEFAULT_ERROR_TOLERATION_DURATION, HBaseConfiguration.create());<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>  public BucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes,<a name="line.258"></a>
-<span class="sourceLineNo">259</span>                     int writerThreadNum, int writerQLen, String persistencePath, int ioErrorsTolerationDuration,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                     Configuration conf)<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throws FileNotFoundException, IOException {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    this.ioEngine = getIOEngineFromName(ioEngineName, capacity, persistencePath);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    this.writerThreads = new WriterThread[writerThreadNum];<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    long blockNumCapacity = capacity / blockSize;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (blockNumCapacity &gt;= Integer.MAX_VALUE) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      // Enough for about 32TB of cache!<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      throw new IllegalArgumentException("Cache capacity is too large, only support 32TB now");<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>    this.acceptableFactor = conf.getFloat(ACCEPT_FACTOR_CONFIG_NAME, DEFAULT_ACCEPT_FACTOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    this.minFactor = conf.getFloat(MIN_FACTOR_CONFIG_NAME, DEFAULT_MIN_FACTOR);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    this.extraFreeFactor = conf.getFloat(EXTRA_FREE_FACTOR_CONFIG_NAME, DEFAULT_EXTRA_FREE_FACTOR);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    this.singleFactor = conf.getFloat(SINGLE_FACTOR_CONFIG_NAME, DEFAULT_SINGLE_FACTOR);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    this.multiFactor = conf.getFloat(MULTI_FACTOR_CONFIG_NAME, DEFAULT_MULTI_FACTOR);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    this.memoryFactor = conf.getFloat(MEMORY_FACTOR_CONFIG_NAME, DEFAULT_MEMORY_FACTOR);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>    sanityCheckConfigs();<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>    LOG.info("Instantiating BucketCache with acceptableFactor: " + acceptableFactor + ", minFactor: " + minFactor +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        ", extraFreeFactor: " + extraFreeFactor + ", singleFactor: " + singleFactor + ", multiFactor: " + multiFactor +<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        ", memoryFactor: " + memoryFactor);<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    this.cacheCapacity = capacity;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    this.persistencePath = persistencePath;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    this.blockSize = blockSize;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    this.ioErrorsTolerationDuration = ioErrorsTolerationDuration;<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>    bucketAllocator = new BucketAllocator(capacity, bucketSizes);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    for (int i = 0; i &lt; writerThreads.length; ++i) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      writerQueues.add(new ArrayBlockingQueue&lt;&gt;(writerQLen));<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    assert writerQueues.size() == writerThreads.length;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    this.ramCache = new ConcurrentHashMap&lt;&gt;();<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    this.backingMap = new ConcurrentHashMap&lt;&gt;((int) blockNumCapacity);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if (ioEngine.isPersistent() &amp;&amp; persistencePath != null) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      try {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        retrieveFromFile(bucketSizes);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      } catch (IOException ioex) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        LOG.error("Can't restore from file because of", ioex);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      } catch (ClassNotFoundException cnfe) {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        LOG.error("Can't restore from file in rebuild because can't deserialise",cnfe);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        throw new RuntimeException(cnfe);<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>    final String threadName = Thread.currentThread().getName();<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    this.cacheEnabled = true;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    for (int i = 0; i &lt; writerThreads.length; ++i) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      writerThreads[i] = new WriterThread(writerQueues.get(i));<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      writerThreads[i].setName(threadName + "-BucketCacheWriter-" + i);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      writerThreads[i].setDaemon(true);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    startWriterThreads();<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    // Run the statistics thread periodically to print the cache statistics log<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    // TODO: Add means of turning this off.  Bit obnoxious running thread just to make a log<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    // every five minutes.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    this.scheduleThreadPool.scheduleAtFixedRate(new StatisticsThread(this),<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        statThreadPeriod, statThreadPeriod, TimeUnit.SECONDS);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    LOG.info("Started bucket cache; ioengine=" + ioEngineName +<a name="line.322"></a>
-<span class="sourceLineNo">323</span>        ", capacity=" + StringUtils.byteDesc(capacity) +<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      ", blockSize=" + StringUtils.byteDesc(blockSize) + ", writerThreadNum=" +<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        writerThreadNum + ", writerQLen=" + writerQLen + ", persistencePath=" +<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      persistencePath + ", bucketAllocator=" + this.bucketAllocator.getClass().getName());<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>  private void sanityCheckConfigs() {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Preconditions.checkArgument(acceptableFactor &lt;= 1 &amp;&amp; acceptableFactor &gt;= 0, ACCEPT_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    Preconditions.checkArgument(minFactor &lt;= 1 &amp;&amp; minFactor &gt;= 0, MIN_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Preconditions.checkArgument(minFactor &lt;= acceptableFactor, MIN_FACTOR_CONFIG_NAME + " must be &lt;= " + ACCEPT_FACTOR_CONFIG_NAME);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    Preconditions.checkArgument(extraFreeFactor &gt;= 0, EXTRA_FREE_FACTOR_CONFIG_NAME + " must be greater than 0.0");<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    Preconditions.checkArgument(singleFactor &lt;= 1 &amp;&amp; singleFactor &gt;= 0, SINGLE_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    Preconditions.checkArgument(multiFactor &lt;= 1 &amp;&amp; multiFactor &gt;= 0, MULTI_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    Preconditions.checkArgument(memoryFactor &lt;= 1 &amp;&amp; memoryFactor &gt;= 0, MEMORY_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    Preconditions.checkArgument((singleFactor + multiFactor + memoryFactor) == 1, SINGLE_FACTOR_CONFIG_NAME + ", " +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        MULTI_FACTOR_CONFIG_NAME + ", and " + MEMORY_FACTOR_CONFIG_NAME + " segments must add up to 1.0");<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  }<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  /**<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * Called by the constructor to start the writer threads. Used by tests that need to override<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * starting the threads.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @VisibleForTesting<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  protected void startWriterThreads() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    for (WriterThread thread : writerThreads) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      thread.start();<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>  @VisibleForTesting<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  boolean isCacheEnabled() {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    return this.cacheEnabled;<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>  @Override<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public long getMaxSize() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    return this.cacheCapacity;<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>  public String getIoEngine() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    return ioEngine.toString();<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>   * Get the IOEngine from the IO engine name<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @param ioEngineName<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * @param capacity<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * @param persistencePath<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @return the IOEngine<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @throws IOException<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  private IOEngine getIOEngineFromName(String ioEngineName, long capacity, String persistencePath)<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      throws IOException {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    if (ioEngineName.startsWith("file:") || ioEngineName.startsWith("files:")) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      // In order to make the usage simple, we only need the prefix 'files:' in<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      // document whether one or multiple file(s), but also support 'file:' for<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      // the compatibility<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      String[] filePaths = ioEngineName.substring(ioEngineName.indexOf(":") + 1)<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          .split(FileIOEngine.FILE_DELIMITER);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return new FileIOEngine(capacity, persistencePath != null, filePaths);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    } else if (ioEngineName.startsWith("offheap")) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      return new ByteBufferIOEngine(capacity);<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    } else if (ioEngineName.startsWith("mmap:")) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      return new FileMmapEngine(ioEngineName.substring(5), capacity);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    } else {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      throw new IllegalArgumentException(<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          "Don't understand io engine name for cache- prefix with file:, files:, mmap: or offheap");<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  }<a name="line.391"></a>
-<span class="sourceLineNo">392</span><a name="line.392"></a>
-<span class="sourceLineNo">393</span>  /**<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * Cache the block with the specified name and buffer.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * @param cacheKey block's cache key<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * @param buf block buffer<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   */<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public void cacheBlock(BlockCacheKey cacheKey, Cacheable buf) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    cacheBlock(cacheKey, buf, false);<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>   * Cache the block with the specified name and buffer.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param cacheKey block's cache key<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param cachedItem block buffer<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * @param inMemory if block is in-memory<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   */<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  @Override<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  public void cacheBlock(BlockCacheKey cacheKey, Cacheable cachedItem, boolean inMemory) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    cacheBlockWithWait(cacheKey, cachedItem, inMemory, wait_when_cache);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * Cache the block to ramCache<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @param cacheKey block's cache key<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @param cachedItem block buffer<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @param inMemory if block is in-memory<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * @param wait if true, blocking wait when queue is full<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   */<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  public void cacheBlockWithWait(BlockCacheKey cacheKey, Cacheable cachedItem, boolean inMemory,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      boolean wait) {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    if (LOG.isTraceEnabled()) LOG.trace("Caching key=" + cacheKey + ", item=" + cachedItem);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    if (!cacheEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      return;<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>    if (backingMap.containsKey(cacheKey)) {<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      Cacheable existingBlock = getBlock(cacheKey, false, false, false);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      try {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        if (BlockCacheUtil.compareCacheBlock(cachedItem, existingBlock) != 0) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>          throw new RuntimeException("Cached block contents differ, which should not have happened."<a name="line.432"></a>
-<span class="sourceLineNo">433</span>              + "cacheKey:" + cacheKey);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        }<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        String msg = "Caching an already cached block: " + cacheKey;<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        msg += ". This is harmless and can happen in rare cases (see HBASE-8547)";<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        LOG.warn(msg);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      } finally {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        // return the block since we need to decrement the count<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        returnBlock(cacheKey, existingBlock);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      }<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>    /*<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * Stuff the entry into the RAM cache so it can get drained to the persistent store<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    RAMQueueEntry re =<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        new RAMQueueEntry(cacheKey, cachedItem, accessCount.incrementAndGet(), inMemory);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    if (ramCache.putIfAbsent(cacheKey, re) != null) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      return;<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    }<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    int queueNum = (cacheKey.hashCode() &amp; 0x7FFFFFFF) % writerQueues.size();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    BlockingQueue&lt;RAMQueueEntry&gt; bq = writerQueues.get(queueNum);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    boolean successfulAddition = false;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    if (wait) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      try {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        successfulAddition = bq.offer(re, DEFAULT_CACHE_WAIT_TIME, TimeUnit.MILLISECONDS);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      } catch (InterruptedException e) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        Thread.currentThread().interrupt();<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    } else {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      successfulAddition = bq.offer(re);<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    if (!successfulAddition) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      ramCache.remove(cacheKey);<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      cacheStats.failInsert();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    } else {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      this.blockNumber.increment();<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      this.heapSize.add(cachedItem.heapSize());<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      blocksByHFile.add(cacheKey);<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>  /**<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * Get the buffer of the block with the specified key.<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * @param key block's cache key<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @param caching true if the caller caches blocks on cache misses<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * @param repeat Whether this is a repeat lookup for the same block<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @param updateCacheMetrics Whether we should update cache metrics or not<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @return buffer of specified cache key, or null if not in cache<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  @Override<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  public Cacheable getBlock(BlockCacheKey key, boolean caching, boolean repeat,<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      boolean updateCacheMetrics) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    if (!cacheEnabled) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return null;<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    RAMQueueEntry re = ramCache.get(key);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (re != null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      if (updateCacheMetrics) {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      }<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      re.access(accessCount.incrementAndGet());<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      return re.getData();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    }<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    BucketEntry bucketEntry = backingMap.get(key);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    if (bucketEntry != null) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      long start = System.nanoTime();<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      try {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>        lock.readLock().lock();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        // We can not read here even if backingMap does contain the given key because its offset<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        // maybe changed. If we lock BlockCacheKey instead of offset, then we can only check<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        // existence here.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>        if (bucketEntry.equals(backingMap.get(key))) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>          // TODO : change this area - should be removed after server cells and<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          // 12295 are available<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          int len = bucketEntry.getLength();<a name="line.509"></a>
-<span class="sourceLineNo">510</span>          if (LOG.isTraceEnabled()) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>            LOG.trace("Read offset=" + bucketEntry.offset() + ", len=" + len);<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          }<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          Cacheable cachedBlock = ioEngine.read(bucketEntry.offset(), len,<a name="line.513"></a>
-<span class="sourceLineNo">514</span>              bucketEntry.deserializerReference(this.deserialiserMap));<a name="line.514"></a>
-<span class="sourceLineNo">515</span>          long timeTaken = System.nanoTime() - start;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          if (updateCacheMetrics) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>            cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.517"></a>
-<span class="sourceLineNo">518</span>            cacheStats.ioHit(timeTaken);<a name="line.518"></a>
-<span class="sourceLineNo">519</span>          }<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          if (cachedBlock.getMemoryType() == MemoryType.SHARED) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>            bucketEntry.refCount.incrementAndGet();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>          bucketEntry.access(accessCount.incrementAndGet());<a name="line.523"></a>
-<span class="sourceLineNo">524</span>          if (this.ioErrorStartTime &gt; 0) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>            ioErrorStartTime = -1;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>          }<a name="line.526"></a>
-<span class="sourceLineNo">527</span>          return cachedBlock;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      } catch (IOException ioex) {<a name="line.529"></a>
-<span class="sourceLineNo">530</span>        LOG.error("Failed reading block " + key + " from bucket cache", ioex);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        checkIOErrorIsTolerated();<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      } finally {<a name="line.532"></a>
-<span class="sourceLineNo">533</span>        lock.readLock().unlock();<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>    if (!repeat &amp;&amp; updateCacheMetrics) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      cacheStats.miss(caching, key.isPrimary(), key.getBlockType());<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    return null;<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>  @VisibleForTesting<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  void blockEvicted(BlockCacheKey cacheKey, BucketEntry bucketEntry, boolean decrementBlockNumber) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    bucketAllocator.freeBlock(bucketEntry.offset());<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    realCacheSize.add(-1 * bucketEntry.getLength());<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    blocksByHFile.remove(cacheKey);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    if (decrementBlockNumber) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.blockNumber.decrement();<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>  }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>  @Override<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  public boolean evictBlock(BlockCacheKey cacheKey) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    return evictBlock(cacheKey, true);<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>  // does not check for the ref count. Just tries to evict it if found in the<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  // bucket map<a name="line.558"></a>
-<span class="sourceLineNo">559</span>  private boolean forceEvict(BlockCacheKey cacheKey) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    if (!cacheEnabled) {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      return false;<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    }<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    RAMQueueEntry removedBlock = checkRamCache(cacheKey);<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    BucketEntry bucketEntry = backingMap.get(cacheKey);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    if (bucketEntry == null) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      if (removedBlock != null) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>        cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.567"></a>
-<span class="sourceLineNo">568</span>        return true;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      } else {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>        return false;<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>    ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    try {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      lock.writeLock().lock();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (backingMap.remove(cacheKey, bucketEntry)) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        blockEvicted(cacheKey, bucketEntry, removedBlock == null);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      } else {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>        return false;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    } finally {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      lock.writeLock().unlock();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    cacheStats.evicted(bucketEntry.getCachedTime(), cacheKey.isPrimary());<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    return true;<a name="line.585"></a>
-<span class="sourceLineNo">586</span>  }<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>  private RAMQueueEntry checkRamCache(BlockCacheKey cacheKey) {<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    RAMQueueEntry removedBlock = ramCache.remove(cacheKey);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    if (removedBlock != null) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      this.blockNumber.decrement();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      this.heapSize.add(-1 * removedBlock.getData().heapSize());<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    }<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    return removedBlock;<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 boolean evictBlock(BlockCacheKey cacheKey, boolean deletedBlock) {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    if (!cacheEnabled) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      return false;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    }<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    RAMQueueEntry removedBlock = checkRamCache(cacheKey);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    BucketEntry bucketEntry = backingMap.get(cacheKey);<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    if (bucketEntry == null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      if (removedBlock != null) {<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        return true;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      } else {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>        return false;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      }<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    }<a name="line.610"></a>
-<span class="sourceLineNo">611</span>    ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    try {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      lock.writeLock().lock();<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      int refCount = bucketEntry.refCount.get();<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      if(refCount == 0) {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        if (backingMap.remove(cacheKey, bucketEntry)) {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>          blockEvicted(cacheKey, bucketEntry, removedBlock == null);<a name="line.617"></a>
-<span class="sourceLineNo">618</span>        } else {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>          return false;<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        }<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      } else {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>        if(!deletedBlock) {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>          if (LOG.isDebugEnabled()) {<a name="line.623"></a>
-<span class="sourceLineNo">624</span>            LOG.debug("This block " + cacheKey + " is still referred by " + refCount<a name="line.624"></a>
-<span class="sourceLineNo">625</span>                + " readers. Can not be freed now");<a name="line.625"></a>
-<span class="sourceLineNo">626</span>          }<a name="line.626"></a>
-<span class="sourceLineNo">627</span>          return false;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        } else {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>          if (LOG.isDebugEnabled()) {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>            LOG.debug("This block " + cacheKey + " is still referred by " + refCount<a name="line.630"></a>
-<span class="sourceLineNo">631</span>                + " readers. Can not be freed now. Hence will mark this"<a name="line.631"></a>
-<span class="sourceLineNo">632</span>                + " for evicting at a later point");<a name="line.632"></a>
-<span class="sourceLineNo">633</span>          }<a name="line.633"></a>
-<span class="sourceLineNo">634</span>          bucketEntry.markedForEvict = true;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        }<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      }<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    } finally {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      lock.writeLock().unlock();<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    }<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    cacheStats.evicted(bucketEntry.getCachedTime(), cacheKey.isPrimary());<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    return true;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>  }<a name="line.642"></a>
-<span class="sourceLineNo">643</span><a name="line.643"></a>
-<span class="sourceLineNo">644</span>  /*<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * Statistics thread.  Periodically output cache statistics to the log.<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  private static class StatisticsThread extends Thread {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    private final BucketCache bucketCache;<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span>    public StatisticsThread(BucketCache bucketCache) {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      super("BucketCacheStatsThread");<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      setDaemon(true);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      this.bucketCache = bucketCache;<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>    @Override<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    public void run() {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>      bucketCache.logStats();<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    }<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  }<a name="line.660"></a>
-<span class="sourceLineNo">661</span><a name="line.661"></a>
-<span class="sourceLineNo">662</span>  public void logStats() {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    long totalSize = bucketAllocator.getTotalSize();<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    long usedSize = bucketAllocator.getUsedSize();<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    long freeSize = totalSize - usedSize;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    long cacheSize = getRealCacheSize();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    LOG.info("failedBlockAdditions=" + cacheStats.getFailedInserts() + ", " +<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        "totalSize=" + StringUtils.byteDesc(totalSize) + ", " +<a name="line.668"></a>
-<span class="sourceLineNo">669</span>        "freeSize=" + StringUtils.byteDesc(freeSize) + ", " +<a name="line.669"></a>
-<span class="sourceLineNo">670</span>        "usedSize=" + StringUtils.byteDesc(usedSize) +", " +<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        "cacheSize=" + StringUtils.byteDesc(cacheSize) +", " +<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        "accesses=" + cacheStats.getRequestCount() + ", " +<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        "hits=" + cacheStats.getHitCount() + ", " +<a name="line.673"></a>
-<span class="sourceLineNo">674</span>        "IOhitsPerSecond=" + cacheStats.getIOHitsPerSecond() + ", " +<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        "IOTimePerHit=" + String.format("%.2f", cacheStats.getIOTimePerHit())+ ", " +<a name="line.675"></a>
-<span class="sourceLineNo">676</span>        "hitRatio=" + (cacheStats.getHitCount() == 0 ? "0," :<a name="line.676"></a>
-<span class="sourceLineNo">677</span>          (StringUtils.formatPercent(cacheStats.getHitRatio(), 2)+ ", ")) +<a name="line.677"></a>
-<span class="sourceLineNo">678</span>        "cachingAccesses=" + cacheStats.getRequestCachingCount() + ", " +<a name="line.678"></a>
-<span class="sourceLineNo">679</span>        "cachingHits=" + cacheStats.getHitCachingCount() + ", " +<a name="line.679"></a>
-<span class="sourceLineNo">680</span>        "cachingHitsRatio=" +(cacheStats.getHitCachingCount() == 0 ? "0," :<a name="line.680"></a>
-<span class="sourceLineNo">681</span>          (StringUtils.formatPercent(cacheStats.getHitCachingRatio(), 2)+ ", ")) +<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        "evictions=" + cacheStats.getEvictionCount() + ", " +<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        "evicted=" + cacheStats.getEvictedCount() + ", " +<a name="line.683"></a>
-<span class="sourceLineNo">684</span>        "evictedPerRun=" + cacheStats.evictedPerEviction());<a name="line.684"></a>
-<span class="sourceLineNo">685</span>    cacheStats.reset();<a name="line.685"></a>
-<span class="sourceLineNo">686</span>  }<a name="line.686"></a>
-<span class="sourceLineNo">687</span><a name="line.687"></a>
-<span class="sourceLineNo">688</span>  public long getRealCacheSize() {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    return this.realCacheSize.sum();<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>  private long acceptableSize() {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>    return (long) Math.floor(bucketAllocator.getTotalSize() * acceptableFactor);<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>  @VisibleForTesting<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  long getPartitionSize(float partitionFactor) {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return (long) Math.floor(bucketAllocator.getTotalSize() * partitionFactor * minFactor);<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>  /**<a name="line.701"></a>
-<span class="sourceLineNo">702</span>   * Return the count of bucketSizeinfos still need free space<a name="line.702"></a>
-<span class="sourceLineNo">703</span>   */<a name="line.703"></a>
-<span class="sourceLineNo">704</span>  private int bucketSizesAboveThresholdCount(float minFactor) {<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    int fullCount = 0;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    for (int i = 0; i &lt; stats.length; i++) {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      freeGoal = Math.max(freeGoal, 1);<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      if (stats[i].freeCount() &lt; freeGoal) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        fullCount++;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      }<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    }<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    return fullCount;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>  }<a name="line.715"></a>
-<span class="sourceLineNo">716</span><a name="line.716"></a>
-<span class="sourceLineNo">717</span>  /**<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * This method will find the buckets that are minimally occupied<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   * and are not reference counted and will free them completely<a name="line.719"></a>
-<span class="sourceLineNo">720</span>   * without any constraint on the access times of the elements,<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   * and as a process will completely free at most the number of buckets<a name="line.721"></a>
-<span class="sourceLineNo">722</span>   * passed, sometimes it might not due to changing refCounts<a name="line.722"></a>
-<span class="sourceLineNo">723</span>   *<a name="line.723"></a>
-<span class="sourceLineNo">724</span>   * @param completelyFreeBucketsNeeded number of buckets to free<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   **/<a name="line.725"></a>
-<span class="sourceLineNo">726</span>  private void freeEntireBuckets(int completelyFreeBucketsNeeded) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    if (completelyFreeBucketsNeeded != 0) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      // First we will build a set where the offsets are reference counted, usually<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      // this set is small around O(Handler Count) unless something else is wrong<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      Set&lt;Integer&gt; inUseBuckets = new HashSet&lt;Integer&gt;();<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      for (BucketEntry entry : backingMap.values()) {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>        if (entry.refCount.get() != 0) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>          inUseBuckets.add(bucketAllocator.getBucketIndex(entry.offset()));<a name="line.733"></a>
-<span class="sourceLineNo">734</span>        }<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>      Set&lt;Integer&gt; candidateBuckets = bucketAllocator.getLeastFilledBuckets(<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          inUseBuckets, completelyFreeBucketsNeeded);<a name="line.738"></a>
-<span class="sourceLineNo">739</span>      for (Map.Entry&lt;BlockCacheKey, BucketEntry&gt; entry : backingMap.entrySet()) {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>        if (candidateBuckets.contains(bucketAllocator<a name="line.740"></a>
-<span class="sourceLineNo">741</span>            .getBucketIndex(entry.getValue().offset()))) {<a name="line.741"></a>
-<span class="sourceLineNo">742</span>          evictBlock(entry.getKey(), false);<a name="line.742"></a>
-<span class="sourceLineNo">743</span>        }<a name="line.743"></a>
-<span class="sourceLineNo">744</span>      }<a name="line.744"></a>
-<span class="sourceLineNo">745</span>    }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>  }<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>   * Free the space if the used size reaches acceptableSize() or one size block<a name="line.749"></a>
-<span class="sourceLineNo">750</span>   * couldn't be allocated. When freeing the space, we use the LRU algorithm and<a name="line.750"></a>
-<span class="sourceLineNo">751</span>   * ensure there must be some blocks evicted<a name="line.751"></a>
-<span class="sourceLineNo">752</span>   * @param why Why we are being called<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   */<a name="line.753"></a>
-<span class="sourceLineNo">754</span>  private void freeSpace(final String why) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span>    // Ensure only one freeSpace progress at a time<a name="line.755"></a>
-<span class="sourceLineNo">756</span>    if (!freeSpaceLock.tryLock()) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    try {<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      freeInProgress = true;<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      long bytesToFreeWithoutExtra = 0;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // Calculate free byte for each bucketSizeinfo<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      StringBuilder msgBuffer = LOG.isDebugEnabled()? new StringBuilder(): null;<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      long[] bytesToFreeForBucket = new long[stats.length];<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      for (int i = 0; i &lt; stats.length; i++) {<a name="line.766"></a>
-<span class="sourceLineNo">767</span>        bytesToFreeForBucket[i] = 0;<a name="line.767"></a>
-<span class="sourceLineNo">768</span>        long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.768"></a>
-<span class="sourceLineNo">769</span>        freeGoal = Math.max(freeGoal, 1);<a name="line.769"></a>
-<span class="sourceLineNo">770</span>        if (stats[i].freeCount() &lt; freeGoal) {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>          bytesToFreeForBucket[i] = stats[i].itemSize() * (freeGoal - stats[i].freeCount());<a name="line.771"></a>
-<span class="sourceLineNo">772</span>          bytesToFreeWithoutExtra += bytesToFreeForBucket[i];<a name="line.772"></a>
-<span class="sourceLineNo">773</span>          if (msgBuffer != null) {<a name="line.773"></a>
-<span class="sourceLineNo">774</span>            msgBuffer.append("Free for bucketSize(" + stats[i].itemSize() + ")="<a name="line.774"></a>
-<span class="sourceLineNo">775</span>              + StringUtils.byteDesc(bytesToFreeForBucket[i]) + ", ");<a name="line.775"></a>
-<span class="sourceLineNo">776</span>          }<a name="line.776"></a>
-<span class="sourceLineNo">777</span>        }<a name="line.777"></a>
-<span class="sourceLineNo">778</span>      }<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      if (msgBuffer != null) {<a name="line.779"></a>
-<span class="sourceLineNo">780</span>        msgBuffer.append("Free for total=" + StringUtils.byteDesc(bytesToFreeWithoutExtra) + ", ");<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>      if (bytesToFreeWithoutExtra &lt;= 0) {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        return;<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      }<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      long currentSize = bucketAllocator.getUsedSize();<a name="line.786"></a>
-<span class="sourceLineNo">787</span>      long totalSize = bucketAllocator.getTotalSize();<a name="line.787"></a>
-<span class="sourceLineNo">788</span>      if (LOG.isDebugEnabled() &amp;&amp; msgBuffer != null) {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>        LOG.debug("Free started because \"" + why + "\"; " + msgBuffer.toString() +<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          " of current used=" + StringUtils.byteDesc(currentSize) + ", actual cacheSize=" +<a name="line.790"></a>
-<span class="sourceLineNo">791</span>          StringUtils.byteDesc(realCacheSize.sum()) + ", total=" + StringUtils.byteDesc(totalSize));<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>      long bytesToFreeWithExtra = (long) Math.floor(bytesToFreeWithoutExtra<a name="line.794"></a>
-<span class="sourceLineNo">795</span>          * (1 + extraFreeFactor));<a name="line.795"></a>
-<span class="sourceLineNo">796</span><a name="line.796"></a>
-<span class="sourceLineNo">797</span>      // Instantiate priority buckets<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      BucketEntryGroup bucketSingle = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.798"></a>
-<span class="sourceLineNo">799</span>          blockSize, getPartitionSize(singleFactor));<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      BucketEntryGroup bucketMulti = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          blockSize, getPartitionSize(multiFactor));<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      BucketEntryGroup bucketMemory = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.802"></a>
-<span class="sourceLineNo">803</span>          blockSize, getPartitionSize(memoryFactor));<a name="line.803"></a>
-<span class="sourceLineNo">804</span><a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Scan entire map putting bucket entry into appropriate bucket entry<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // group<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      for (Map.Entry&lt;BlockCacheKey, BucketEntry&gt; bucketEntryWithKey : backingMap.entrySet()) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>        switch (bucketEntryWithKey.getValue().getPriority()) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>          case SINGLE: {<a name="line.809"></a>
-<span class="sourceLineNo">810</span>            bucketSingle.add(bucketEntryWithKey);<a name="line.810"></a>
-<span class="sourceLineNo">811</span>            break;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>          }<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          case MULTI: {<a name="line.813"></a>
-<span class="sourceLineNo">814</span>            bucketMulti.add(bucketEntryWithKey);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>            break;<a name="line.815"></a>
-<span class="sourceLineNo">816</span>          }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>          case MEMORY: {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>            bucketMemory.add(bucketEntryWithKey);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>            break;<a name="line.819"></a>
-<span class="sourceLineNo">820</span>          }<a name="line.820"></a>
-<span class="sourceLineNo">821</span>        }<a name="line.821"></a>
-<span class="sourceLineNo">822</span>      }<a name="line.822"></a>
-<span class="sourceLineNo">823</span><a name="line.823"></a>
-<span class="sourceLineNo">824</span>      PriorityQueue&lt;BucketEntryGroup&gt; bucketQueue = new PriorityQueue&lt;&gt;(3);<a name="line.824"></a>
+<span class="sourceLineNo">039</span>import java.util.PriorityQueue;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.Set;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.concurrent.ArrayBlockingQueue;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.concurrent.BlockingQueue;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentMap;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.ConcurrentSkipListSet;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.Executors;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.TimeUnit;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.atomic.LongAdder;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.locks.Lock;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.conf.Configuration;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.io.hfile.BlockPriority;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.io.hfile.BlockType;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.hfile.CacheStats;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.hfile.Cacheable;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.hfile.Cacheable.MemoryType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializer;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializerIdManager;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CachedBlock;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFileBlock;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.IdReadWriteLock;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.IdReadWriteLock.ReferenceType;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.util.StringUtils;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.slf4j.Logger;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.slf4j.LoggerFactory;<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;<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> * BucketCache uses {@link BucketAllocator} to allocate/free blocks, and uses<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * BucketCache#ramCache and BucketCache#backingMap in order to<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * determine if a given element is in the cache. The bucket cache can use on-heap or<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * off-heap memory {@link ByteBufferIOEngine} or in a file {@link FileIOEngine} to<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * store/read the block data.<a name="line.89"></a>
+<span class="sourceLineNo">090</span> *<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * &lt;p&gt;Eviction is via a similar algorithm as used in<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache}<a name="line.92"></a>
+<span class="sourceLineNo">093</span> *<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;p&gt;BucketCache can be used as mainly a block cache (see<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * {@link org.apache.hadoop.hbase.io.hfile.CombinedBlockCache}), combined with<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * LruBlockCache to decrease CMS GC and heap fragmentation.<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;p&gt;It also can be used as a secondary cache (e.g. using a file on ssd/fusionio to store<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * blocks) to enlarge cache space via<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache#setVictimCache}<a name="line.100"></a>
+<span class="sourceLineNo">101</span> */<a name="line.101"></a>
+<span class="sourceLineNo">102</span>@InterfaceAudience.Private<a name="line.102"></a>
+<span class="sourceLineNo">103</span>public class BucketCache implements BlockCache, HeapSize {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  private static final Logger LOG = LoggerFactory.getLogger(BucketCache.class);<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /** Priority buckets config */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  static final String SINGLE_FACTOR_CONFIG_NAME = "hbase.bucketcache.single.factor";<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  static final String MULTI_FACTOR_CONFIG_NAME = "hbase.bucketcache.multi.factor";<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  static final String MEMORY_FACTOR_CONFIG_NAME = "hbase.bucketcache.memory.factor";<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  static final String EXTRA_FREE_FACTOR_CONFIG_NAME = "hbase.bucketcache.extrafreefactor";<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  static final String ACCEPT_FACTOR_CONFIG_NAME = "hbase.bucketcache.acceptfactor";<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  static final String MIN_FACTOR_CONFIG_NAME = "hbase.bucketcache.minfactor";<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  /** Priority buckets */<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  @VisibleForTesting<a name="line.115"

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index 4e708b2..53a7406 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: 3520,
-             Errors: 16622,
+      <title>File: 3524,
+             Errors: 16593,
              Warnings: 0,
              Infos: 0
       </title>
@@ -853,7 +853,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  9
+                  6
                 </td>
               </tr>
                           <tr>
@@ -909,7 +909,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  2
+                  0
                 </td>
               </tr>
                           <tr>
@@ -3485,7 +3485,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  3
+                  0
                 </td>
               </tr>
                           <tr>
@@ -5487,7 +5487,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  3
+                  2
                 </td>
               </tr>
                           <tr>
@@ -9043,7 +9043,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  5
+                  2
                 </td>
               </tr>
                           <tr>
@@ -10476,20 +10476,6 @@ under the License.
               </tr>
                           <tr>
                 <td>
-                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.master.balancer.TestStochasticLoadBalancer2.java">org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer2.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.quotas.TestRegionSizeUse.java">org/apache/hadoop/hbase/quotas/TestRegionSizeUse.java</a>
                 </td>
                 <td>
@@ -13831,7 +13817,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  128
+                  126
                 </td>
               </tr>
                           <tr>
@@ -17541,7 +17527,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  5
+                  3
                 </td>
               </tr>
                           <tr>
@@ -19366,6 +19352,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.master.balancer.TestStochasticLoadBalancerRegionReplicaHighReplication.java">org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplicaHighReplication.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.TestAsyncWALReplay.java">org/apache/hadoop/hbase/regionserver/wal/TestAsyncWALReplay.java</a>
                 </td>
                 <td>
@@ -20691,7 +20691,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  2
+                  1
                 </td>
               </tr>
                           <tr>
@@ -20887,7 +20887,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  34
+                  33
                 </td>
               </tr>
                           <tr>
@@ -21293,7 +21293,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  1
+                  0
                 </td>
               </tr>
                           <tr>
@@ -21993,7 +21993,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  1
+                  0
                 </td>
               </tr>
                           <tr>
@@ -22329,7 +22329,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  4
+                  1
                 </td>
               </tr>
                           <tr>
@@ -22348,6 +22348,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.master.balancer.TestStochasticLoadBalancerRegionReplicaLargeCluster.java">org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplicaLargeCluster.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.util.Threads.java">org/apache/hadoop/hbase/util/Threads.java</a>
                 </td>
                 <td>
@@ -26011,7 +26025,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  6
+                  5
                 </td>
               </tr>
                           <tr>
@@ -28475,7 +28489,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  2
+                  1
                 </td>
               </tr>
                           <tr>
@@ -37127,7 +37141,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  8
+                  7
                 </td>
               </tr>
                           <tr>
@@ -44706,6 +44720,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.master.balancer.TestStochasticLoadBalancerRegionReplicaReplicationGreaterThanNumNodes.java">org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplicaReplicationGreaterThanNumNodes.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.security.access.ShadedAccessControlUtil.java">org/apache/hadoop/hbase/security/access/ShadedAccessControlUtil.java</a>
                 </td>
                 <td>
@@ -46591,7 +46619,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  213
+                  210
                 </td>
               </tr>
                           <tr>
@@ -47520,6 +47548,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.master.balancer.TestStochasticLoadBalancerRegionReplicaMidCluster.java">org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancerRegionReplicaMidCluster.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.Store.java">org/apache/hadoop/hbase/regionserver/Store.java</a>
                 </td>
                 <td>
@@ -48332,6 +48374,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.master.balancer.BalancerTestBase2.java">org/apache/hadoop/hbase/master/balancer/BalancerTestBase2.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.ChoreService.java">org/apache/hadoop/hbase/ChoreService.java</a>
                 </td>
                 <td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index a7013b3..957661a 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="20180201" />
+    <meta name="Date-Revision-yyyymmdd" content="20180202" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -380,7 +380,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-02-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-02-02</li>
             </p>
                 </div>
 

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 40b8ade..7875ff7 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="20180201" />
+    <meta name="Date-Revision-yyyymmdd" content="20180202" />
     <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" />
@@ -445,7 +445,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-02-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-02-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 009d051..9cf25c9 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="20180201" />
+    <meta name="Date-Revision-yyyymmdd" content="20180202" />
     <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" />
@@ -1035,7 +1035,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-02-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-02-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 230601e..31e17b1 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="20180201" />
+    <meta name="Date-Revision-yyyymmdd" content="20180202" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -318,7 +318,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-02-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-02-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index 9a82909..4bb3ac4 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="20180201" />
+    <meta name="Date-Revision-yyyymmdd" content="20180202" />
     <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" />
@@ -980,7 +980,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-02-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-02-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-frame.html b/devapidocs/allclasses-frame.html
index ec4b655..8ad4ed9 100644
--- a/devapidocs/allclasses-frame.html
+++ b/devapidocs/allclasses-frame.html
@@ -2095,7 +2095,7 @@
 <li><a href="org/apache/hadoop/hbase/ipc/RemoteWithExtrasException.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">RemoteWithExtrasException</a></li>
 <li><a href="org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication" target="classFrame">RemovePeerProcedure</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">Replication</a></li>
-<li><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">Replication.ReplicationStatisticsThread</a></li>
+<li><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html" title="class in org.apache.hadoop.hbase.replication.regionserver" target="classFrame">Replication.ReplicationStatisticsTask</a></li>
 <li><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html" title="class in org.apache.hadoop.hbase.client.replication" target="classFrame">ReplicationAdmin</a></li>
 <li><a href="org/apache/hadoop/hbase/util/hbck/ReplicationChecker.html" title="class in org.apache.hadoop.hbase.util.hbck" target="classFrame">ReplicationChecker</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/ReplicationEndpoint.html" title="interface in org.apache.hadoop.hbase.replication" target="classFrame"><span class="interfaceName">ReplicationEndpoint</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-noframe.html b/devapidocs/allclasses-noframe.html
index f12c4e7..27ddffb 100644
--- a/devapidocs/allclasses-noframe.html
+++ b/devapidocs/allclasses-noframe.html
@@ -2095,7 +2095,7 @@
 <li><a href="org/apache/hadoop/hbase/ipc/RemoteWithExtrasException.html" title="class in org.apache.hadoop.hbase.ipc">RemoteWithExtrasException</a></li>
 <li><a href="org/apache/hadoop/hbase/master/replication/RemovePeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">RemovePeerProcedure</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></li>
-<li><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsThread</a></li>
+<li><a href="org/apache/hadoop/hbase/replication/regionserver/Replication.ReplicationStatisticsTask.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication.ReplicationStatisticsTask</a></li>
 <li><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html" title="class in org.apache.hadoop.hbase.client.replication">ReplicationAdmin</a></li>
 <li><a href="org/apache/hadoop/hbase/util/hbck/ReplicationChecker.html" title="class in org.apache.hadoop.hbase.util.hbck">ReplicationChecker</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/ReplicationEndpoint.html" title="interface in org.apache.hadoop.hbase.replication"><span class="interfaceName">ReplicationEndpoint</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 0529597..0582ee9 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3754,21 +3754,21 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Thu Feb  1 14:41:30 UTC 2018"</code></td>
+<td class="colLast"><code>"Fri Feb  2 14:40:59 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="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"9272f40a5c8afeeaa9569688c0fabfcd9264ee5e"</code></td>
+<td class="colLast"><code>"8143d5afa4a34c5f06a22e30b5017958b8c3f60c"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"4cbd9302c514bcdc05cd4dcff56edce8"</code></td>
+<td class="colLast"><code>"29cb119e31f9c1e124b660f7b4356177"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/deprecated-list.html
----------------------------------------------------------------------
diff --git a/devapidocs/deprecated-list.html b/devapidocs/deprecated-list.html
index 0e20584..1decffe 100644
--- a/devapidocs/deprecated-list.html
+++ b/devapidocs/deprecated-list.html
@@ -422,6 +422,18 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Delete-">org.apache.hadoop.hbase.client.RowMutations.add(Delete)</a>
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>RowMutations.add(Mutation)</code></a></span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Put-">org.apache.hadoop.hbase.client.RowMutations.add(Put)</a>
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>RowMutations.add(Mutation)</code></a></span></div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#addColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-">org.apache.hadoop.hbase.client.Admin.addColumn(TableName, ColumnFamilyDescriptor)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0.
              This will be removed in HBase 3.0.0.


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
index 871d0b4..47b96f1 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
@@ -121,7 +121,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6071">HRegion.RegionScannerImpl</a>
+<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6070">HRegion.RegionScannerImpl</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html" title="interface in org.apache.hadoop.hbase.regionserver">Shipper</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></pre>
 <div class="block">RegionScannerImpl is used to combine scanners from multiple Stores (aka column families).</div>
@@ -425,7 +425,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>storeHeap</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6074">storeHeap</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6073">storeHeap</a></pre>
 </li>
 </ul>
 <a name="joinedHeap">
@@ -434,7 +434,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>joinedHeap</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6077">joinedHeap</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6076">joinedHeap</a></pre>
 <div class="block">Heap of key-values that are not essential for the provided filters and are thus read
  on demand, if on-demand column family loading is enabled.</div>
 </li>
@@ -445,7 +445,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>joinedContinuationRow</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6081">joinedContinuationRow</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6080">joinedContinuationRow</a></pre>
 <div class="block">If the joined heap data gathering is interrupted due to scan limits, this will
  contain the row for which we are populating the values.</div>
 </li>
@@ -456,7 +456,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>filterClosed</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6082">filterClosed</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6081">filterClosed</a></pre>
 </li>
 </ul>
 <a name="stopRow">
@@ -465,7 +465,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>stopRow</h4>
-<pre>protected final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6084">stopRow</a></pre>
+<pre>protected final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6083">stopRow</a></pre>
 </li>
 </ul>
 <a name="includeStopRow">
@@ -474,7 +474,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>includeStopRow</h4>
-<pre>protected final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6085">includeStopRow</a></pre>
+<pre>protected final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6084">includeStopRow</a></pre>
 </li>
 </ul>
 <a name="region">
@@ -483,7 +483,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>region</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6086">region</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6085">region</a></pre>
 </li>
 </ul>
 <a name="comparator">
@@ -492,7 +492,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>comparator</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6087">comparator</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6086">comparator</a></pre>
 </li>
 </ul>
 <a name="readPt">
@@ -501,7 +501,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>readPt</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6089">readPt</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6088">readPt</a></pre>
 </li>
 </ul>
 <a name="maxResultSize">
@@ -510,7 +510,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>maxResultSize</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6090">maxResultSize</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6089">maxResultSize</a></pre>
 </li>
 </ul>
 <a name="defaultScannerContext">
@@ -519,7 +519,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>defaultScannerContext</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6091">defaultScannerContext</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6090">defaultScannerContext</a></pre>
 </li>
 </ul>
 <a name="filter">
@@ -528,7 +528,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filter</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.html" title="class in org.apache.hadoop.hbase.filter">FilterWrapper</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6092">filter</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.html" title="class in org.apache.hadoop.hbase.filter">FilterWrapper</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6091">filter</a></pre>
 </li>
 </ul>
 </li>
@@ -545,7 +545,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>RegionScannerImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6099">RegionScannerImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6098">RegionScannerImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners,
                   <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region)
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -561,7 +561,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RegionScannerImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6104">RegionScannerImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6103">RegionScannerImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners,
                   <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                   long&nbsp;nonceGroup,
@@ -587,7 +587,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <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/HRegion.RegionScannerImpl.html#line.6095">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/HRegion.RegionScannerImpl.html#line.6094">getRegionInfo</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getRegionInfo--">getRegionInfo</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -602,7 +602,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeScanners</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6142">initializeScanners</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6141">initializeScanners</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -617,7 +617,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeKVHeap</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6174">initializeKVHeap</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6173">initializeKVHeap</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;joinedScanners,
                                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region)
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -633,7 +633,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>handleException</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6183">handleException</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;instantiatedScanners,
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6182">handleException</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;instantiatedScanners,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</pre>
 </li>
 </ul>
@@ -643,7 +643,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxResultSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6204">getMaxResultSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6203">getMaxResultSize</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getMaxResultSize--">getMaxResultSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -659,7 +659,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getMvccReadPoint</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6209">getMvccReadPoint</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6208">getMvccReadPoint</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getMvccReadPoint--">getMvccReadPoint</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -674,7 +674,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getBatch</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6214">getBatch</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6213">getBatch</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getBatch--">getBatch</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></dd>
@@ -690,7 +690,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>resetFilters</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6223">resetFilters</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6222">resetFilters</a>()
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Reset both the filter and the old filter.</div>
 <dl>
@@ -705,7 +705,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>next</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6230">next</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6229">next</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-">InternalScanner</a></code></span></div>
 <div class="block">Grab the next row's worth of values.</div>
@@ -727,7 +727,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>next</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6237">next</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6236">next</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults,
                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)
              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-org.apache.hadoop.hbase.regionserver.ScannerContext-">InternalScanner</a></code></span></div>
@@ -750,7 +750,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRaw</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6253">nextRaw</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6252">nextRaw</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#nextRaw-java.util.List-">RegionScanner</a></code></span></div>
 <div class="block">Grab the next row's worth of values. This is a special internal method to be called from
@@ -775,7 +775,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRaw</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6259">nextRaw</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6258">nextRaw</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults,
                        <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)
                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#nextRaw-java.util.List-org.apache.hadoop.hbase.regionserver.ScannerContext-">RegionScanner</a></code></span></div>
@@ -821,7 +821,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>populateFromJoinedHeap</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6296">populateFromJoinedHeap</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6295">populateFromJoinedHeap</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
                                        <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -838,7 +838,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>populateResult</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6320">populateResult</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6319">populateResult</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
                                <a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a>&nbsp;heap,
                                <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext,
                                <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)
@@ -863,7 +863,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>moreCellsInRow</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6361">moreCellsInRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;nextKv,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6360">moreCellsInRow</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;nextKv,
                                <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)</pre>
 <div class="block">Based on the nextKv in the heap, and the current row, decide whether or not there are more
  cells to be read in the heap. If the row of the nextKv in the heap matches the current row
@@ -883,7 +883,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>isFilterDone</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6369">isFilterDone</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6368">isFilterDone</a>()
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -901,7 +901,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>isFilterDoneInternal</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6373">isFilterDoneInternal</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6372">isFilterDoneInternal</a>()
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -915,7 +915,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>nextInternal</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6377">nextInternal</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6376">nextInternal</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
                              <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -930,7 +930,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementCountOfRowsFilteredMetric</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6600">incrementCountOfRowsFilteredMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6599">incrementCountOfRowsFilteredMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</pre>
 </li>
 </ul>
 <a name="incrementCountOfRowsScannedMetric-org.apache.hadoop.hbase.regionserver.ScannerContext-">
@@ -939,7 +939,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementCountOfRowsScannedMetric</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6608">incrementCountOfRowsScannedMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6607">incrementCountOfRowsScannedMetric</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext)</pre>
 </li>
 </ul>
 <a name="joinedHeapMayHaveData-org.apache.hadoop.hbase.Cell-">
@@ -948,7 +948,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>joinedHeapMayHaveData</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6619">joinedHeapMayHaveData</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6618">joinedHeapMayHaveData</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -966,7 +966,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6646">filterRow</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6645">filterRow</a>()
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This function is to maintain backward compatibility for 0.94 filters. HBASE-6429 combines
  both filterRow & filterRow(<code>List&lt;KeyValue&gt; kvs</code>) functions. While 0.94 code or older,
@@ -985,7 +985,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6653">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;current)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6652">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;current)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -999,7 +999,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRow</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6657">nextRow</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6656">nextRow</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext,
                           <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;curRowCell)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1014,7 +1014,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldStop</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6672">shouldStop</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6671">shouldStop</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)</pre>
 </li>
 </ul>
 <a name="close--">
@@ -1023,7 +1023,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6684">close</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6683">close</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#close--">InternalScanner</a></code></span></div>
 <div class="block">Closes the scanner and releases any resources it has allocated</div>
 <dl>
@@ -1042,7 +1042,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreHeapForTesting</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6698">getStoreHeapForTesting</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6697">getStoreHeapForTesting</a>()</pre>
 </li>
 </ul>
 <a name="reseek-byte:A-">
@@ -1051,7 +1051,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>reseek</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6703">reseek</a>(byte[]&nbsp;row)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6702">reseek</a>(byte[]&nbsp;row)
                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#reseek-byte:A-">RegionScanner</a></code></span></div>
 <div class="block">Do a reseek to the required row. Should not be used to seek to a key which
@@ -1071,7 +1071,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>shipped</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6723">shipped</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6722">shipped</a>()
              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html#shipped--">Shipper</a></code></span></div>
 <div class="block">Called after a batch of rows scanned and set to be returned to client. Any in between cleanup
@@ -1090,7 +1090,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6733">run</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6732">run</a>()
          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html#run--">RpcCallback</a></code></span></div>
 <div class="block">Called at the end of an Rpc Call <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><code>RpcCallContext</code></a></div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html
index 664eedf..3c1e02f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3618">HRegion.ReplayBatchOperation</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3619">HRegion.ReplayBatchOperation</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;</pre>
 <div class="block">Batch of mutations for replay. Base class is shared with <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegion.MutationBatchOperation</code></a> as most
  of the logic is same.</div>
@@ -306,7 +306,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>origLogSeqNum</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3619">origLogSeqNum</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3620">origLogSeqNum</a></pre>
 </li>
 </ul>
 </li>
@@ -323,7 +323,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ReplayBatchOperation</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3620">ReplayBatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3621">ReplayBatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                             <a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>[]&nbsp;operations,
                             long&nbsp;origLogSeqNum)</pre>
 </li>
@@ -342,7 +342,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutation</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3627">getMutation</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3628">getMutation</a>(int&nbsp;index)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutation-int-">getMutation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;</code></dd>
@@ -355,7 +355,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceGroup</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3632">getNonceGroup</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3633">getNonceGroup</a>(int&nbsp;index)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonceGroup-int-">getNonceGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;</code></dd>
@@ -368,7 +368,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonce</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3637">getNonce</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3638">getNonce</a>(int&nbsp;index)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonce-int-">getNonce</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;</code></dd>
@@ -381,7 +381,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutationsForCoprocs</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3642">getMutationsForCoprocs</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3643">getMutationsForCoprocs</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutationsForCoprocs--">HRegion.BatchOperation</a></code></span></div>
 <div class="block">This method is potentially expensive and useful mostly for non-replay CP path.</div>
 <dl>
@@ -396,7 +396,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>isInReplay</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3647">isInReplay</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3648">isInReplay</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#isInReplay--">isInReplay</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;</code></dd>
@@ -409,7 +409,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getOrigLogSeqNum</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3652">getOrigLogSeqNum</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3653">getOrigLogSeqNum</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getOrigLogSeqNum--">getOrigLogSeqNum</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;</code></dd>
@@ -422,7 +422,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>startRegionOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3657">startRegionOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3658">startRegionOperation</a>()
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -438,7 +438,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3662">closeRegionOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3663">closeRegionOperation</a>()
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -454,7 +454,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPreparePut</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3671">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3672">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)
                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">During replay, there could exist column families which are removed between region server
  failure and replay</div>
@@ -472,7 +472,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPrepare</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3692">checkAndPrepare</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3693">checkAndPrepare</a>()
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#checkAndPrepare--">HRegion.BatchOperation</a></code></span></div>
 <div class="block">Validates each mutation and prepares a batch for write. If necessary (non-replay case), runs
@@ -494,7 +494,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareMiniBatchOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3701">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3702">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                        long&nbsp;timestamp,
                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;acquiredRowLocks)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -515,7 +515,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>writeMiniBatchOperationsToMemStore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3713">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3714">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                                                                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)
                                                                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#writeMiniBatchOperationsToMemStore-org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress-org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry-">HRegion.BatchOperation</a></code></span></div>
@@ -534,7 +534,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>completeMiniBatchOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3721">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.3722">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                         <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#completeMiniBatchOperations-org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress-org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry-">HRegion.BatchOperation</a></code></span></div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
index c79b4b8..55f2c59 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5679">HRegion.RowLockContext</a>
+<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5678">HRegion.RowLockContext</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -241,7 +241,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>row</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5680">row</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5679">row</a></pre>
 </li>
 </ul>
 <a name="readWriteLock">
@@ -250,7 +250,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>readWriteLock</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5681">readWriteLock</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReadWriteLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5680">readWriteLock</a></pre>
 </li>
 </ul>
 <a name="usable">
@@ -259,7 +259,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>usable</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5682">usable</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5681">usable</a></pre>
 </li>
 </ul>
 <a name="count">
@@ -268,7 +268,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>count</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5683">count</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5682">count</a></pre>
 </li>
 </ul>
 <a name="lock">
@@ -277,7 +277,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>lock</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5684">lock</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5683">lock</a></pre>
 </li>
 </ul>
 <a name="threadName">
@@ -286,7 +286,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>threadName</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5685">threadName</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5684">threadName</a></pre>
 </li>
 </ul>
 </li>
@@ -303,7 +303,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RowLockContext</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5687">RowLockContext</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>&nbsp;row)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5686">RowLockContext</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>&nbsp;row)</pre>
 </li>
 </ul>
 </li>
@@ -320,7 +320,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>newWriteLock</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5691">newWriteLock</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5690">newWriteLock</a>()</pre>
 </li>
 </ul>
 <a name="newReadLock--">
@@ -329,7 +329,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>newReadLock</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5695">newReadLock</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5694">newReadLock</a>()</pre>
 </li>
 </ul>
 <a name="getRowLock-java.util.concurrent.locks.Lock-">
@@ -338,7 +338,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowLock</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5700">getRowLock</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;l)</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5699">getRowLock</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;l)</pre>
 </li>
 </ul>
 <a name="cleanUp--">
@@ -347,7 +347,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanUp</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5711">cleanUp</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5710">cleanUp</a>()</pre>
 </li>
 </ul>
 <a name="setThreadName-java.lang.String-">
@@ -356,7 +356,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setThreadName</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5724">setThreadName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;threadName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5723">setThreadName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;threadName)</pre>
 </li>
 </ul>
 <a name="toString--">
@@ -365,7 +365,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5729">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5728">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
index e3e5b4a..978d48d 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5742">HRegion.RowLockImpl</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5741">HRegion.RowLockImpl</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></pre>
 <div class="block">Class used to represent a lock on a row.</div>
@@ -226,7 +226,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockList">
 <li class="blockList">
 <h4>context</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5743">context</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5742">context</a></pre>
 </li>
 </ul>
 <a name="lock">
@@ -235,7 +235,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lock</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5744">lock</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5743">lock</a></pre>
 </li>
 </ul>
 </li>
@@ -252,7 +252,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RowLockImpl</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5746">RowLockImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&nbsp;context,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5745">RowLockImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&nbsp;context,
                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;lock)</pre>
 </li>
 </ul>
@@ -270,7 +270,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockList">
 <li class="blockList">
 <h4>getLock</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5751">getLock</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5750">getLock</a>()</pre>
 </li>
 </ul>
 <a name="getContext--">
@@ -279,7 +279,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockList">
 <li class="blockList">
 <h4>getContext</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5756">getContext</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5755">getContext</a>()</pre>
 </li>
 </ul>
 <a name="release--">
@@ -288,7 +288,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockList">
 <li class="blockList">
 <h4>release</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5761">release</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5760">release</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html#release--">Region.RowLock</a></code></span></div>
 <div class="block">Release the given lock.  If there are no remaining locks held by the current thread
  then unlock the row and allow other threads to acquire the lock.</div>
@@ -304,7 +304,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5767">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5766">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html
index 4a87b9d..7515d7b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html
@@ -25,3542 +25,3570 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.master;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import com.google.protobuf.Descriptors;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import com.google.protobuf.Service;<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.io.InterruptedIOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.lang.reflect.InvocationTargetException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.net.InetAddress;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.net.InetSocketAddress;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.net.UnknownHostException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.ArrayList;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Arrays;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Collection;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.Collections;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.Comparator;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.EnumSet;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.HashMap;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.Iterator;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.util.List;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.Map;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.Map.Entry;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.Objects;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.concurrent.ExecutionException;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.concurrent.Future;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.TimeUnit;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.TimeoutException;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.atomic.AtomicReference;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.function.Function;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.regex.Pattern;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.stream.Collectors;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import javax.servlet.ServletException;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import javax.servlet.http.HttpServlet;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import javax.servlet.http.HttpServletRequest;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import javax.servlet.http.HttpServletResponse;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.commons.lang3.StringUtils;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.conf.Configuration;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.fs.Path;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.ClusterId;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.ClusterMetrics;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.ClusterMetrics.Option;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.ClusterMetricsBuilder;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.CoordinatedStateException;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.HConstants;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.InvalidFamilyOperationException;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.MasterNotRunningException;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.PleaseHoldException;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ReplicationPeerNotFoundException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.ServerLoad;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.ServerMetricsBuilder;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ServerName;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.TableDescriptors;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.TableName;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.MasterSwitchType;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.client.Result;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.exceptions.MergeRegionException;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.executor.ExecutorType;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.favored.FavoredNodesManager;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.favored.FavoredNodesPromoter;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.http.InfoServer;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.log.HBaseMarkers;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.master.MasterRpcServices.BalanceSwitchMode;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.master.assignment.AssignmentManager;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.master.assignment.MergeTableRegionsProcedure;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.master.assignment.RegionStates;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.master.assignment.RegionStates.RegionStateNode;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.master.balancer.BalancerChore;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.master.balancer.ClusterStatusChore;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.master.balancer.LoadBalancerFactory;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.master.cleaner.HFileCleaner;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.master.cleaner.LogCleaner;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.master.cleaner.ReplicationMetaCleaner;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.master.locking.LockManager;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.master.normalizer.NormalizationPlan;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.master.normalizer.NormalizationPlan.PlanType;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizer;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizerChore;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizerFactory;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.master.procedure.CreateTableProcedure;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.master.procedure.DeleteTableProcedure;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.master.procedure.DisableTableProcedure;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.master.procedure.EnableTableProcedure;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureConstants;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.master.procedure.RecoverMetaProcedure;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.master.replication.AddPeerProcedure;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.master.replication.DisablePeerProcedure;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.master.replication.EnablePeerProcedure;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.master.replication.ModifyPeerProcedure;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.master.replication.RemovePeerProcedure;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.master.replication.ReplicationPeerManager;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.master.replication.UpdatePeerConfigProcedure;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.mob.MobConstants;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.procedure2.ProcedureEvent;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher.RemoteProcedure;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureException;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.quotas.MasterSpaceQuotaObserver;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.quotas.QuotaObserverChore;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.quotas.SnapshotQuotaObserverChore;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifier;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifierFactory;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.regionserver.DefaultStoreEngine;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.regionserver.RegionSplitPolicy;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.compactions.FIFOCompactionPolicy;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.replication.master.ReplicationPeerConfigUpgrader;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.replication.regionserver.Replication;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.trace.TraceUtil;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.ZKDataMigrator;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.zookeeper.LoadBalancerTracker;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.zookeeper.MasterMaintenanceModeTracker;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.zookeeper.RegionNormalizerTracker;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.zookeeper.ZKWatcher;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.zookeeper.ZNodePaths;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.zookeeper.KeeperException;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.eclipse.jetty.server.Server;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.eclipse.jetty.server.ServerConnector;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.eclipse.jetty.servlet.ServletHolder;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.eclipse.jetty.webapp.WebAppContext;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.slf4j.Logger;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.slf4j.LoggerFactory;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>import org.apache.hbase.thirdparty.com.google.common.collect.Maps;<a name="line.205"></a>
+<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.HConstants.HBASE_MASTER_LOGCLEANER_PLUGINS;<a name="line.20"></a>
+<span class="sourceLineNo">021</span><a name="line.21"></a>
+<span class="sourceLineNo">022</span>import com.google.protobuf.Descriptors;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.protobuf.Service;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.InterruptedIOException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.lang.reflect.Constructor;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.lang.reflect.InvocationTargetException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.net.InetAddress;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.net.InetSocketAddress;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.net.UnknownHostException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.ArrayList;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.Arrays;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Collection;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Collections;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.Comparator;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.EnumSet;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.HashMap;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.Iterator;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.List;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.Map;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.Map.Entry;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.Objects;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.Set;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ExecutionException;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.Future;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.TimeUnit;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.TimeoutException;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.atomic.AtomicReference;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.function.Function;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.regex.Pattern;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.stream.Collectors;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import javax.servlet.ServletException;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import javax.servlet.http.HttpServlet;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import javax.servlet.http.HttpServletRequest;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import javax.servlet.http.HttpServletResponse;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.commons.lang3.StringUtils;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.conf.Configuration;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.fs.Path;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.ClusterId;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.ClusterMetrics;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.ClusterMetrics.Option;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.ClusterMetricsBuilder;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.CoordinatedStateException;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.HConstants;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.InvalidFamilyOperationException;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.MasterNotRunningException;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.PleaseHoldException;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.ReplicationPeerNotFoundException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.ServerLoad;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.ServerMetricsBuilder;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.ServerName;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.TableDescriptors;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.TableName;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.client.MasterSwitchType;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.client.Result;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.client.TableState;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.exceptions.MergeRegionException;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.executor.ExecutorType;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.favored.FavoredNodesManager;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.favored.FavoredNodesPromoter;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.http.InfoServer;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.log.HBaseMarkers;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.master.MasterRpcServices.BalanceSwitchMode;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.master.assignment.AssignmentManager;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.master.assignment.MergeTableRegionsProcedure;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.master.assignment.RegionStates;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.master.assignment.RegionStates.RegionStateNode;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.master.balancer.BalancerChore;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.master.balancer.ClusterStatusChore;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.master.balancer.LoadBalancerFactory;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.master.cleaner.HFileCleaner;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.master.cleaner.LogCleaner;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.master.cleaner.ReplicationMetaCleaner;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.master.locking.LockManager;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.master.normalizer.NormalizationPlan;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.master.normalizer.NormalizationPlan.PlanType;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizer;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizerChore;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.master.normalizer.RegionNormalizerFactory;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.master.procedure.CreateTableProcedure;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.master.procedure.DeleteTableProcedure;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.master.procedure.DisableTableProcedure;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.master.procedure.EnableTableProcedure;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureConstants;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.master.procedure.RecoverMetaProcedure;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.master.replication.AddPeerProcedure;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.master.replication.DisablePeerProcedure;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.master.replication.EnablePeerProcedure;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.master.replication.ModifyPeerProcedure;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.master.replication.RemovePeerProcedure;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.master.replication.ReplicationPeerManager;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.master.replication.UpdatePeerConfigProcedure;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.mob.MobConstants;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.procedure.MasterProcedureManagerHost;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.procedure2.LockedResource;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.procedure2.Procedure;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.procedure2.ProcedureEvent;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher.RemoteProcedure;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.procedure2.RemoteProcedureException;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.quotas.MasterQuotaManager;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.quotas.MasterSpaceQuotaObserver;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.quotas.QuotaObserverChore;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.quotas.SnapshotQuotaObserverChore;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifier;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifierFactory;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.regionserver.DefaultStoreEngine;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.RegionSplitPolicy;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.compactions.ExploringCompactionPolicy;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.compactions.FIFOCompactionPolicy;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.replication.ReplicationUtils;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.replication.master.ReplicationHFileCleaner;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.replication.master.ReplicationLogCleaner;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.replication.master.ReplicationPeerConfigUpgrader;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.trace.TraceUtil;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.Addressing;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.util.HFileArchiveUtil;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.IdLock;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.ModifyRegionUtils;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.VersionInfo;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.util.ZKDataMigrator;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.zookeeper.LoadBalancerTracker;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.zookeeper.MasterMaintenanceModeTracker;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.zookeeper.RegionNormalizerTracker;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.zookeeper.ZKClusterId;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.zookeeper.ZKUtil;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.zookeeper.ZKWatcher;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.zookeeper.ZNodePaths;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.zookeeper.KeeperException;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.eclipse.jetty.server.Server;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.eclipse.jetty.server.ServerConnector;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.eclipse.jetty.servlet.ServletHolder;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>import org.eclipse.jetty.webapp.WebAppContext;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>import org.slf4j.Logger;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>import org.slf4j.LoggerFactory;<a name="line.205"></a>
 <span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionServerInfo;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceViolationPolicy;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos;<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> * HMaster is the "master server" for HBase. An HBase cluster has one active<a name="line.216"></a>
-<span class="sourceLineNo">217</span> * master.  If many masters are started, all compete.  Whichever wins goes on to<a name="line.217"></a>
-<span class="sourceLineNo">218</span> * run the cluster.  All others park themselves in their constructor until<a name="line.218"></a>
-<span class="sourceLineNo">219</span> * master or cluster shutdown or until the active master loses its lease in<a name="line.219"></a>
-<span class="sourceLineNo">220</span> * zookeeper.  Thereafter, all running master jostle to take over master role.<a name="line.220"></a>
-<span class="sourceLineNo">221</span> *<a name="line.221"></a>
-<span class="sourceLineNo">222</span> * &lt;p&gt;The Master can be asked shutdown the cluster. See {@link #shutdown()}.  In<a name="line.222"></a>
-<span class="sourceLineNo">223</span> * this case it will tell all regionservers to go down and then wait on them<a name="line.223"></a>
-<span class="sourceLineNo">224</span> * all reporting in that they are down.  This master will then shut itself down.<a name="line.224"></a>
+<span class="sourceLineNo">207</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>import org.apache.hbase.thirdparty.com.google.common.collect.Maps;<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionServerInfo;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.Quotas;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceViolationPolicy;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos;<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> * HMaster is the "master server" for HBase. An HBase cluster has one active<a name="line.220"></a>
+<span class="sourceLineNo">221</span> * master.  If many masters are started, all compete.  Whichever wins goes on to<a name="line.221"></a>
+<span class="sourceLineNo">222</span> * run the cluster.  All others park themselves in their constructor until<a name="line.222"></a>
+<span class="sourceLineNo">223</span> * master or cluster shutdown or until the active master loses its lease in<a name="line.223"></a>
+<span class="sourceLineNo">224</span> * zookeeper.  Thereafter, all running master jostle to take over master role.<a name="line.224"></a>
 <span class="sourceLineNo">225</span> *<a name="line.225"></a>
-<span class="sourceLineNo">226</span> * &lt;p&gt;You can also shutdown just this master.  Call {@link #stopMaster()}.<a name="line.226"></a>
-<span class="sourceLineNo">227</span> *<a name="line.227"></a>
-<span class="sourceLineNo">228</span> * @see org.apache.zookeeper.Watcher<a name="line.228"></a>
-<span class="sourceLineNo">229</span> */<a name="line.229"></a>
-<span class="sourceLineNo">230</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.230"></a>
-<span class="sourceLineNo">231</span>@SuppressWarnings("deprecation")<a name="line.231"></a>
-<span class="sourceLineNo">232</span>public class HMaster extends HRegionServer implements MasterServices {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  private static Logger LOG = LoggerFactory.getLogger(HMaster.class.getName());<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>   * Protection against zombie master. Started once Master accepts active responsibility and<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * starts taking over responsibilities. Allows a finite time window before giving up ownership.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private static class InitializationMonitor extends HasThread {<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    /** The amount of time in milliseconds to sleep before checking initialization status. */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    public static final String TIMEOUT_KEY = "hbase.master.initializationmonitor.timeout";<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    public static final long TIMEOUT_DEFAULT = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>    /**<a name="line.244"></a>
-<span class="sourceLineNo">245</span>     * When timeout expired and initialization has not complete, call {@link System#exit(int)} when<a name="line.245"></a>
-<span class="sourceLineNo">246</span>     * true, do nothing otherwise.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>     */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public static final String HALT_KEY = "hbase.master.initializationmonitor.haltontimeout";<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    public static final boolean HALT_DEFAULT = false;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>    private final HMaster master;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    private final long timeout;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    private final boolean haltOnTimeout;<a name="line.253"></a>
+<span class="sourceLineNo">226</span> * &lt;p&gt;The Master can be asked shutdown the cluster. See {@link #shutdown()}.  In<a name="line.226"></a>
+<span class="sourceLineNo">227</span> * this case it will tell all regionservers to go down and then wait on them<a name="line.227"></a>
+<span class="sourceLineNo">228</span> * all reporting in that they are down.  This master will then shut itself down.<a name="line.228"></a>
+<span class="sourceLineNo">229</span> *<a name="line.229"></a>
+<span class="sourceLineNo">230</span> * &lt;p&gt;You can also shutdown just this master.  Call {@link #stopMaster()}.<a name="line.230"></a>
+<span class="sourceLineNo">231</span> *<a name="line.231"></a>
+<span class="sourceLineNo">232</span> * @see org.apache.zookeeper.Watcher<a name="line.232"></a>
+<span class="sourceLineNo">233</span> */<a name="line.233"></a>
+<span class="sourceLineNo">234</span>@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.TOOLS)<a name="line.234"></a>
+<span class="sourceLineNo">235</span>@SuppressWarnings("deprecation")<a name="line.235"></a>
+<span class="sourceLineNo">236</span>public class HMaster extends HRegionServer implements MasterServices {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  private static Logger LOG = LoggerFactory.getLogger(HMaster.class.getName());<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>   * Protection against zombie master. Started once Master accepts active responsibility and<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * starts taking over responsibilities. Allows a finite time window before giving up ownership.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  private static class InitializationMonitor extends HasThread {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    /** The amount of time in milliseconds to sleep before checking initialization status. */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    public static final String TIMEOUT_KEY = "hbase.master.initializationmonitor.timeout";<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    public static final long TIMEOUT_DEFAULT = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>    /**<a name="line.248"></a>
+<span class="sourceLineNo">249</span>     * When timeout expired and initialization has not complete, call {@link System#exit(int)} when<a name="line.249"></a>
+<span class="sourceLineNo">250</span>     * true, do nothing otherwise.<a name="line.250"></a>
+<span class="sourceLineNo">251</span>     */<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    public static final String HALT_KEY = "hbase.master.initializationmonitor.haltontimeout";<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    public static final boolean HALT_DEFAULT = false;<a name="line.253"></a>
 <span class="sourceLineNo">254</span><a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /** Creates a Thread that monitors the {@link #isInitialized()} state. */<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    InitializationMonitor(HMaster master) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      super("MasterInitializationMonitor");<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      this.master = master;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.timeout = master.getConfiguration().getLong(TIMEOUT_KEY, TIMEOUT_DEFAULT);<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      this.haltOnTimeout = master.getConfiguration().getBoolean(HALT_KEY, HALT_DEFAULT);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      this.setDaemon(true);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span><a name="line.263"></a>
-<span class="sourceLineNo">264</span>    @Override<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    public void run() {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      try {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        while (!master.isStopped() &amp;&amp; master.isActiveMaster()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          Thread.sleep(timeout);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>          if (master.isInitialized()) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>            LOG.debug("Initialization completed within allotted tolerance. Monitor exiting.");<a name="line.270"></a>
-<span class="sourceLineNo">271</span>          } else {<a name="line.271"></a>
-<span class="sourceLineNo">272</span>            LOG.error("Master failed to complete initialization after " + timeout + "ms. Please"<a name="line.272"></a>
-<span class="sourceLineNo">273</span>                + " consider submitting a bug report including a thread dump of this process.");<a name="line.273"></a>
-<span class="sourceLineNo">274</span>            if (haltOnTimeout) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>              LOG.error("Zombie Master exiting. Thread dump to stdout");<a name="line.275"></a>
-<span class="sourceLineNo">276</span>              Threads.printThreadInfo(System.out, "Zombie HMaster");<a name="line.276"></a>
-<span class="sourceLineNo">277</span>              System.exit(-1);<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>      } catch (InterruptedException ie) {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>        LOG.trace("InitMonitor thread interrupted. Existing.");<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>  }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  //instance into web context.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public static final String MASTER = "master";<a name="line.289"></a>
+<span class="sourceLineNo">255</span>    private final HMaster master;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    private final long timeout;<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    private final boolean haltOnTimeout;<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>    /** Creates a Thread that monitors the {@link #isInitialized()} state. */<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    InitializationMonitor(HMaster master) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      super("MasterInitializationMonitor");<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      this.master = master;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      this.timeout = master.getConfiguration().getLong(TIMEOUT_KEY, TIMEOUT_DEFAULT);<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      this.haltOnTimeout = master.getConfiguration().getBoolean(HALT_KEY, HALT_DEFAULT);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      this.setDaemon(true);<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>    @Override<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    public void run() {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      try {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>        while (!master.isStopped() &amp;&amp; master.isActiveMaster()) {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>          Thread.sleep(timeout);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>          if (master.isInitialized()) {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>            LOG.debug("Initialization completed within allotted tolerance. Monitor exiting.");<a name="line.274"></a>
+<span class="sourceLineNo">275</span>          } else {<a name="line.275"></a>
+<span class="sourceLineNo">276</span>            LOG.error("Master failed to complete initialization after " + timeout + "ms. Please"<a name="line.276"></a>
+<span class="sourceLineNo">277</span>                + " consider submitting a bug report including a thread dump of this process.");<a name="line.277"></a>
+<span class="sourceLineNo">278</span>            if (haltOnTimeout) {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>              LOG.error("Zombie Master exiting. Thread dump to stdout");<a name="line.279"></a>
+<span class="sourceLineNo">280</span>              Threads.printThreadInfo(System.out, "Zombie HMaster");<a name="line.280"></a>
+<span class="sourceLineNo">281</span>              System.exit(-1);<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>      } catch (InterruptedException ie) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        LOG.trace("InitMonitor thread interrupted. Existing.");<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><a name="line.290"></a>
-<span class="sourceLineNo">291</span>  // Manager and zk listener for master election<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  private final ActiveMasterManager activeMasterManager;<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  // Region server tracker<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  RegionServerTracker regionServerTracker;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  // Draining region server tracker<a name="line.295"></a>
-<span class="sourceLineNo">296</span>  private DrainingServerTracker drainingServerTracker;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  // Tracker for load balancer state<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  LoadBalancerTracker loadBalancerTracker;<a name="line.298"></a>
-<span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>  // Tracker for split and merge state<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  private SplitOrMergeTracker splitOrMergeTracker;<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  // Tracker for region normalizer state<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  private RegionNormalizerTracker regionNormalizerTracker;<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>  //Tracker for master maintenance mode setting<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  private MasterMaintenanceModeTracker maintenanceModeTracker;<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span>  private ClusterSchemaService clusterSchemaService;<a name="line.309"></a>
-<span class="sourceLineNo">310</span><a name="line.310"></a>
-<span class="sourceLineNo">311</span>  public static final String HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS =<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    "hbase.master.wait.on.service.seconds";<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public static final int DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS = 5 * 60;<a name="line.313"></a>
+<span class="sourceLineNo">291</span>  // MASTER is name of the webapp and the attribute name used stuffing this<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  //instance into web context.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  public static final String MASTER = "master";<a name="line.293"></a>
+<span class="sourceLineNo">294</span><a name="line.294"></a>
+<span class="sourceLineNo">295</span>  // Manager and zk listener for master election<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  private final ActiveMasterManager activeMasterManager;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  // Region server tracker<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  RegionServerTracker regionServerTracker;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  // Draining region server tracker<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  private DrainingServerTracker drainingServerTracker;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  // Tracker for load balancer state<a name="line.301"></a>
+<span class="sourceLineNo">302</span>  LoadBalancerTracker loadBalancerTracker;<a name="line.302"></a>
+<span class="sourceLineNo">303</span><a name="line.303"></a>
+<span class="sourceLineNo">304</span>  // Tracker for split and merge state<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  private SplitOrMergeTracker splitOrMergeTracker;<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>  // Tracker for region normalizer state<a name="line.307"></a>
+<span class="sourceLineNo">308</span>  private RegionNormalizerTracker regionNormalizerTracker;<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>  //Tracker for master maintenance mode setting<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  private MasterMaintenanceModeTracker maintenanceModeTracker;<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>  private ClusterSchemaService clusterSchemaService;<a name="line.313"></a>
 <span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // Metrics for the HMaster<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  final MetricsMaster metricsMaster;<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  // file system manager for the master FS operations<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  private MasterFileSystem fileSystemManager;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  private MasterWalManager walManager;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  // server manager to deal with region server info<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  private volatile ServerManager serverManager;<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>  // manager of assignment nodes in zookeeper<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  private AssignmentManager assignmentManager;<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  // manager of replication<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  private ReplicationPeerManager replicationPeerManager;<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  // buffer for "fatal error" notices from region servers<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  // in the cluster. This is only used for assisting<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  // operations/debugging.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  // flag set after we become the active master (used for testing)<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  private volatile boolean activeMaster = false;<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>  // flag set after we complete initialization once active<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  private final ProcedureEvent&lt;?&gt; initialized = new ProcedureEvent&lt;&gt;("master initialized");<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  // flag set after master services are started,<a name="line.341"></a>
-<span class="sourceLineNo">342</span>  // initialization may have not completed yet.<a name="line.342"></a>
-<span class="sourceLineNo">343</span>  volatile boolean serviceStarted = false;<a name="line.343"></a>
+<span class="sourceLineNo">315</span>  public static final String HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS =<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    "hbase.master.wait.on.service.seconds";<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  public static final int DEFAULT_HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS = 5 * 60;<a name="line.317"></a>
+<span class="sourceLineNo">318</span><a name="line.318"></a>
+<span class="sourceLineNo">319</span>  // Metrics for the HMaster<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  final MetricsMaster metricsMaster;<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  // file system manager for the master FS operations<a name="line.321"></a>
+<span class="sourceLineNo">322</span>  private MasterFileSystem fileSystemManager;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>  private MasterWalManager walManager;<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  // server manager to deal with region server info<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  private volatile ServerManager serverManager;<a name="line.326"></a>
+<span class="sourceLineNo">327</span><a name="line.327"></a>
+<span class="sourceLineNo">328</span>  // manager of assignment nodes in zookeeper<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  private AssignmentManager assignmentManager;<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>  // manager of replication<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  private ReplicationPeerManager replicationPeerManager;<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // buffer for "fatal error" notices from region servers<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  // in the cluster. This is only used for assisting<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  // operations/debugging.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  MemoryBoundedLogMessageBuffer rsFatals;<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  // flag set after we become the active master (used for testing)<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  private volatile boolean activeMaster = false;<a name="line.340"></a>
+<span class="sourceLineNo">341</span><a name="line.341"></a>
+<span class="sourceLineNo">342</span>  // flag set after we complete initialization once active<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  private final ProcedureEvent&lt;?&gt; initialized = new ProcedureEvent&lt;&gt;("master initialized");<a name="line.343"></a>
 <span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>  // flag set after we complete assignMeta.<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  private final ProcedureEvent&lt;?&gt; serverCrashProcessingEnabled =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    new ProcedureEvent&lt;&gt;("server crash processing");<a name="line.347"></a>
+<span class="sourceLineNo">345</span>  // flag set after master services are started,<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  // initialization may have not completed yet.<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  volatile boolean serviceStarted = false;<a name="line.347"></a>
 <span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>  // Maximum time we should run balancer for<a name="line.349"></a>
-<span class="sourceLineNo">350</span>  private final int maxBlancingTime;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  // Maximum percent of regions in transition when balancing<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private final double maxRitPercent;<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  private final LockManager lockManager = new LockManager(this);<a name="line.354"></a>
-<span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>  private LoadBalancer balancer;<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  private RegionNormalizer normalizer;<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  private BalancerChore balancerChore;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  private RegionNormalizerChore normalizerChore;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  private ClusterStatusChore clusterStatusChore;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>  CatalogJanitor catalogJanitorChore;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  private ReplicationMetaCleaner replicationMetaCleaner;<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  private LogCleaner logCleaner;<a name="line.365"></a>
-<span class="sourceLineNo">366</span>  private HFileCleaner hfileCleaner;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  private ExpiredMobFileCleanerChore expiredMobFileCleanerChore;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  private MobCompactionChore mobCompactChore;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  private MasterMobCompactionThread mobCompactThread;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  // used to synchronize the mobCompactionStates<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  // save the information of mob compactions in tables.<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  MasterCoprocessorHost cpHost;<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>  private final boolean preLoadTableDescriptors;<a name="line.378"></a>
+<span class="sourceLineNo">349</span>  // flag set after we complete assignMeta.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>  private final ProcedureEvent&lt;?&gt; serverCrashProcessingEnabled =<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    new ProcedureEvent&lt;&gt;("server crash processing");<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>  // Maximum time we should run balancer for<a name="line.353"></a>
+<span class="sourceLineNo">354</span>  private final int maxBlancingTime;<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  // Maximum percent of regions in transition when balancing<a name="line.355"></a>
+<span class="sourceLineNo">356</span>  private final double maxRitPercent;<a name="line.356"></a>
+<span class="sourceLineNo">357</span><a name="line.357"></a>
+<span class="sourceLineNo">358</span>  private final LockManager lockManager = new LockManager(this);<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span>  private LoadBalancer balancer;<a name="line.360"></a>
+<span class="sourceLineNo">361</span>  private RegionNormalizer normalizer;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>  private BalancerChore balancerChore;<a name="line.362"></a>
+<span class="sourceLineNo">363</span>  private RegionNormalizerChore normalizerChore;<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  private ClusterStatusChore clusterStatusChore;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>  private ClusterStatusPublisher clusterStatusPublisherChore = null;<a name="line.365"></a>
+<span class="sourceLineNo">366</span><a name="line.366"></a>
+<span class="sourceLineNo">367</span>  CatalogJanitor catalogJanitorChore;<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  private ReplicationMetaCleaner replicationMetaCleaner;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  private LogCleaner logCleaner;<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  private HFileCleaner hfileCleaner;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  private ExpiredMobFileCleanerChore expiredMobFileCleanerChore;<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  private MobCompactionChore mobCompactChore;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>  private MasterMobCompactionThread mobCompactThread;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>  // used to synchronize the mobCompactionStates<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  private final IdLock mobCompactionLock = new IdLock();<a name="line.375"></a>
+<span class="sourceLineNo">376</span>  // save the information of mob compactions in tables.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  // the key is table name, the value is the number of compactions in that table.<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  private Map&lt;TableName, AtomicInteger&gt; mobCompactionStates = Maps.newConcurrentMap();<a name="line.378"></a>
 <span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>  // Time stamps for when a hmaster became active<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  private long masterActiveTime;<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  // Time stamp for when HMaster finishes becoming Active Master<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  private long masterFinishedInitializationTime;<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  //should we check the compression codec type at master side, default true, HBASE-6370<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  private final boolean masterCheckCompression;<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>  //should we check encryption settings at master side, default true<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  private final boolean masterCheckEncryption;<a name="line.390"></a>
-<span class="sourceLineNo">391</span><a name="line.391"></a>
-<span class="sourceLineNo">392</span>  Map&lt;String, Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.392"></a>
-<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span>  // monitor for snapshot of hbase tables<a name="line.394"></a>
-<span class="sourceLineNo">395</span>  SnapshotManager snapshotManager;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  // monitor for distributed procedures<a name="line.396"></a>
-<span class="sourceLineNo">397</span>  private MasterProcedureManagerHost mpmHost;<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>  // it is assigned after 'initialized' guard set to true, so should be volatile<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  private volatile MasterQuotaManager quotaManager;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>  private SpaceQuotaSnapshotNotifier spaceQuotaSnapshotNotifier;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  private QuotaObserverChore quotaObserverChore;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  private SnapshotQuotaObserverChore snapshotQuotaChore;<a name="line.403"></a>
-<span class="sourceLineNo">404</span><a name="line.404"></a>
-<span class="sourceLineNo">405</span>  private ProcedureExecutor&lt;MasterProcedureEnv&gt; procedureExecutor;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  private WALProcedureStore procedureStore;<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  // handle table states<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  private TableStateManager tableStateManager;<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>  private long splitPlanCount;<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  private long mergePlanCount;<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  /* Handle favored nodes information */<a name="line.414"></a>
-<span class="sourceLineNo">415</span>  private FavoredNodesManager favoredNodesManager;<a name="line.415"></a>
-<span class="sourceLineNo">416</span><a name="line.416"></a>
-<span class="sourceLineNo">417</span>  /** jetty server for master to redirect requests to regionserver infoServer */<a name="line.417"></a>
-<span class="sourceLineNo">418</span>  private Server masterJettyServer;<a name="line.418"></a>
-<span class="sourceLineNo">419</span><a name="line.419"></a>
-<span class="sourceLineNo">420</span>  public static class RedirectServlet extends HttpServlet {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    private static final long serialVersionUID = 2894774810058302473L;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    private final int regionServerInfoPort;<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    private final String regionServerHostname;<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>     * @param infoServer that we're trying to send all requests to<a name="line.426"></a>
-<span class="sourceLineNo">427</span>     * @param hostname may be null. if given, will be used for redirects instead of host from client.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>     */<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    public RedirectServlet(InfoServer infoServer, String hostname) {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>       regionServerInfoPort = infoServer.getPort();<a name="line.430"></a>
-<span class="sourceLineNo">431</span>       regionServerHostname = hostname;<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    }<a name="line.432"></a>
-<span class="sourceLineNo">433</span><a name="line.433"></a>
-<span class="sourceLineNo">434</span>    @Override<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    public void doGet(HttpServletRequest request,<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        HttpServletResponse response) throws ServletException, IOException {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      String redirectHost = regionServerHostname;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      if(redirectHost == null) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        redirectHost = request.getServerName();<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        if(!Addressing.isLocalAddress(InetAddress.getByName(redirectHost))) {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>          LOG.warn("Couldn't resolve '" + redirectHost + "' as an address local to this node and '" +<a name="line.441"></a>
-<span class="sourceLineNo">442</span>              MASTER_HOSTNAME_KEY + "' is not set; client will get a HTTP 400 response. If " +<a name="line.442"></a>
-<span class="sourceLineNo">443</span>              "your HBase deployment relies on client accessible names that the region server process " +<a name="line.443"></a>
-<span class="sourceLineNo">444</span>              "can't resolve locally, then you should set the previously mentioned configuration variable " +<a name="line.444"></a>
-<span class="sourceLineNo">445</span>              "to an appropriate hostname.");<a name="line.445"></a>
-<span class="sourceLineNo">446</span>          // no sending client provided input back to the client, so the goal host is just in the logs.<a name="line.446"></a>
-<span class="sourceLineNo">447</span>          response.sendError(400, "Request was to a host that I can't resolve for any of the network interfaces on " +<a name="line.447"></a>
-<span class="sourceLineNo">448</span>              "this node. If this is due to an intermediary such as an HTTP load balancer or other proxy, your HBase " +<a name="line.448"></a>
-<span class="sourceLineNo">449</span>              "administrator can set '" + MASTER_HOSTNAME_KEY + "' to point to the correct hostname.");<a name="line.449"></a>
-<span class="sourceLineNo">450</span>          return;<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        }<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      }<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      // TODO this scheme should come from looking at the scheme registered in the infoserver's http server for the<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      // host and port we're using, but it's buried way too deep to do that ATM.<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      String redirectUrl = request.getScheme() + "://"<a name="line.455"></a>
-<span class="sourceLineNo">456</span>        + redirectHost + ":" + regionServerInfoPort<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        + request.getRequestURI();<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      response.sendRedirect(redirectUrl);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span>  /**<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   * Initializes the HMaster. The steps are as follows:<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * &lt;p&gt;<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * &lt;ol&gt;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   * &lt;li&gt;Initialize the local HRegionServer<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * &lt;li&gt;Start the ActiveMasterManager.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * &lt;/ol&gt;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * &lt;p&gt;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   * Remaining steps of initialization occur in<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * #finishActiveMasterInitialization(MonitoredTask) after<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   * the master becomes the active one.<a name="line.472"></a>
-<span class="sourceLineNo">473</span>   */<a name="line.473"></a>
-<span class="sourceLineNo">474</span>  public HMaster(final Configuration conf)<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      throws IOException, KeeperException {<a name="line.475"></a>
-<s

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/apidocs/org/apache/hadoop/hbase/client/class-use/Put.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/Put.html b/apidocs/org/apache/hadoop/hbase/client/class-use/Put.html
index ab1fdaa..a3dbda0 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/Put.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/Put.html
@@ -275,7 +275,10 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Put-">add</a></span>(<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">Add a <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> operation to the list of mutations</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>RowMutations.add(Mutation)</code></a></span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/apidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html b/apidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
index bdfba55..f258f19 100644
--- a/apidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
+++ b/apidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
@@ -102,6 +102,33 @@
 </a>
 <h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a> in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a> that return <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</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/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-java.util.List-">add</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Currently only supports <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-">add</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
+<div class="block">Currently only supports <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#of-java.util.List-">of</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Create a <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client"><code>RowMutations</code></a> with the specified mutations.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</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/1f2eeb22/apidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html b/apidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html
index 416bf21..6b01ff4 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html
@@ -30,9 +30,9 @@
 <span class="sourceLineNo">022</span>import java.util.Arrays;<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><a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.27"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.util.CollectionUtils;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.27"></a>
 <span class="sourceLineNo">028</span><a name="line.28"></a>
 <span class="sourceLineNo">029</span>/**<a name="line.29"></a>
 <span class="sourceLineNo">030</span> * Performs multiple mutations atomically on a single row.<a name="line.30"></a>
@@ -46,110 +46,148 @@
 <span class="sourceLineNo">038</span> */<a name="line.38"></a>
 <span class="sourceLineNo">039</span>@InterfaceAudience.Public<a name="line.39"></a>
 <span class="sourceLineNo">040</span>public class RowMutations implements Row {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  private final List&lt;Mutation&gt; mutations;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>  private final byte [] row;<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>  public RowMutations(byte [] row) {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    this(row, -1);<a name="line.45"></a>
-<span class="sourceLineNo">046</span>  }<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  /**<a name="line.47"></a>
-<span class="sourceLineNo">048</span>   * Create an atomic mutation for the specified row.<a name="line.48"></a>
-<span class="sourceLineNo">049</span>   * @param row row key<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   * @param initialCapacity the initial capacity of the RowMutations<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   */<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  public RowMutations(byte [] row, int initialCapacity) {<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    Mutation.checkRow(row);<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    this.row = Bytes.copy(row);<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    if (initialCapacity &lt;= 0) {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>      this.mutations = new ArrayList&lt;&gt;();<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    } else {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      this.mutations = new ArrayList&lt;&gt;(initialCapacity);<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    }<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  }<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>  /**<a name="line.42"></a>
+<span class="sourceLineNo">043</span>   * Create a {@link RowMutations} with the specified mutations.<a name="line.43"></a>
+<span class="sourceLineNo">044</span>   * @param mutations the mutations to send<a name="line.44"></a>
+<span class="sourceLineNo">045</span>   * @return RowMutations<a name="line.45"></a>
+<span class="sourceLineNo">046</span>   * @throws IOException if any row in mutations is different to another<a name="line.46"></a>
+<span class="sourceLineNo">047</span>   */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  public static RowMutations of(List&lt;? extends Mutation&gt; mutations) throws IOException {<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    if (CollectionUtils.isEmpty(mutations)) {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>      throw new IllegalArgumentException("Can't instantiate a RowMutations by empty list");<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    }<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    return new RowMutations(mutations.get(0).getRow(), mutations.size())<a name="line.52"></a>
+<span class="sourceLineNo">053</span>        .add(mutations);<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private final List&lt;Mutation&gt; mutations;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private final byte [] row;<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  public RowMutations(byte [] row) {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    this(row, -1);<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  }<a name="line.61"></a>
 <span class="sourceLineNo">062</span>  /**<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * Add a {@link Put} operation to the list of mutations<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   * @param p The {@link Put} to add<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * @throws IOException<a name="line.65"></a>
+<span class="sourceLineNo">063</span>   * Create an atomic mutation for the specified row.<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * @param row row key<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * @param initialCapacity the initial capacity of the RowMutations<a name="line.65"></a>
 <span class="sourceLineNo">066</span>   */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  public void add(Put p) throws IOException {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    internalAdd(p);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  /**<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   * Add a {@link Delete} operation to the list of mutations<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   * @param d The {@link Delete} to add<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   * @throws IOException<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   */<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public void add(Delete d) throws IOException {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    internalAdd(d);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  private void internalAdd(Mutation m) throws IOException {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    int res = Bytes.compareTo(this.row, m.getRow());<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    if (res != 0) {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>      throw new WrongRowIOException("The row in the recently added Put/Delete &lt;" +<a name="line.83"></a>
-<span class="sourceLineNo">084</span>          Bytes.toStringBinary(m.getRow()) + "&gt; doesn't match the original one &lt;" +<a name="line.84"></a>
-<span class="sourceLineNo">085</span>          Bytes.toStringBinary(this.row) + "&gt;");<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    }<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    mutations.add(m);<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  }<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  /**<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   *             Use {@link Row#COMPARATOR} instead<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  @Deprecated<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  @Override<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  public int compareTo(Row i) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    return Bytes.compareTo(this.getRow(), i.getRow());<a name="line.97"></a>
+<span class="sourceLineNo">067</span>  public RowMutations(byte [] row, int initialCapacity) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    this.row = Bytes.copy(Mutation.checkRow(row));<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    if (initialCapacity &lt;= 0) {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      this.mutations = new ArrayList&lt;&gt;();<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    } else {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      this.mutations = new ArrayList&lt;&gt;(initialCapacity);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  /**<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   * Add a {@link Put} operation to the list of mutations<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   * @param p The {@link Put} to add<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * @deprecated since 2.0 version and will be removed in 3.0 version.<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   *             use {@link #add(Mutation)}<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   */<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  @Deprecated<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  public void add(Put p) throws IOException {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    add((Mutation) p);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
+<span class="sourceLineNo">087</span><a name="line.87"></a>
+<span class="sourceLineNo">088</span>  /**<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * Add a {@link Delete} operation to the list of mutations<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @param d The {@link Delete} to add<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   * @deprecated since 2.0 version and will be removed in 3.0 version.<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   *             use {@link #add(Mutation)}<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   */<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  @Deprecated<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  public void add(Delete d) throws IOException {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    add((Mutation) d);<a name="line.97"></a>
 <span class="sourceLineNo">098</span>  }<a name="line.98"></a>
 <span class="sourceLineNo">099</span><a name="line.99"></a>
 <span class="sourceLineNo">100</span>  /**<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   *             No replacement<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   */<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  @Deprecated<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  @Override<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  public boolean equals(Object obj) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    if (obj == this) return true;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    if (obj instanceof RowMutations) {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      RowMutations other = (RowMutations)obj;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      return compareTo(other) == 0;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    return false;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /**<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   *             No replacement<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   */<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  @Deprecated<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  @Override<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public int hashCode(){<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    return Arrays.hashCode(row);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  }<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  @Override<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public byte[] getRow() {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return row;<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>   * @return An unmodifiable list of the current mutations.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   */<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  public List&lt;Mutation&gt; getMutations() {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    return Collections.unmodifiableList(mutations);<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  public int getMaxPriority() {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    int maxPriority = Integer.MIN_VALUE;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    for (Mutation mutation : mutations) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      maxPriority = Math.max(maxPriority, mutation.getPriority());<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    return maxPriority;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>}<a name="line.144"></a>
+<span class="sourceLineNo">101</span>   * Currently only supports {@link Put} and {@link Delete} mutations.<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   *<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * @param mutation The data to send.<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public RowMutations add(Mutation mutation) throws IOException {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return add(Collections.singletonList(mutation));<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>   * Currently only supports {@link Put} and {@link Delete} mutations.<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   *<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * @param mutations The data to send.<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   */<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  public RowMutations add(List&lt;? extends Mutation&gt; mutations) throws IOException {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    for (Mutation mutation : mutations) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      if (!Bytes.equals(row, mutation.getRow())) {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        throw new WrongRowIOException("The row in the recently added Put/Delete &lt;" +<a name="line.119"></a>
+<span class="sourceLineNo">120</span>          Bytes.toStringBinary(mutation.getRow()) + "&gt; doesn't match the original one &lt;" +<a name="line.120"></a>
+<span class="sourceLineNo">121</span>          Bytes.toStringBinary(this.row) + "&gt;");<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    }<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    this.mutations.addAll(mutations);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    return this;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  }<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>  /**<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   *             Use {@link Row#COMPARATOR} instead<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   */<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  @Deprecated<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  @Override<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  public int compareTo(Row i) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    return Bytes.compareTo(this.getRow(), i.getRow());<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  /**<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   *             No replacement<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   */<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  @Deprecated<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  @Override<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  public boolean equals(Object obj) {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    if (obj == this) return true;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    if (obj instanceof RowMutations) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      RowMutations other = (RowMutations)obj;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      return compareTo(other) == 0;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    return false;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>  /**<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   *             No replacement<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   */<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  @Deprecated<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  @Override<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public int hashCode(){<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    return Arrays.hashCode(row);<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>  @Override<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  public byte[] getRow() {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    return row;<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>   * @return An unmodifiable list of the current mutations.<a name="line.169"></a>
+<span class="sourceLineNo">170</span>   */<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  public List&lt;Mutation&gt; getMutations() {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return Collections.unmodifiableList(mutations);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public int getMaxPriority() {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    int maxPriority = Integer.MIN_VALUE;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    for (Mutation mutation : mutations) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      maxPriority = Math.max(maxPriority, mutation.getPriority());<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    return maxPriority;<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
index 88c511a..ccdd6a2 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
@@ -113,7 +113,7 @@
 <span class="sourceLineNo">105</span>    throws IOException {<a name="line.105"></a>
 <span class="sourceLineNo">106</span>      try {<a name="line.106"></a>
 <span class="sourceLineNo">107</span>        // skip all other tables<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.108"></a>
+<span class="sourceLineNo">108</span>        if (Bytes.equals(table, key.getTableName().getName())) {<a name="line.108"></a>
 <span class="sourceLineNo">109</span>          for (Cell cell : value.getCells()) {<a name="line.109"></a>
 <span class="sourceLineNo">110</span>            if (WALEdit.isMetaEditFamily(cell)) {<a name="line.110"></a>
 <span class="sourceLineNo">111</span>              continue;<a name="line.111"></a>
@@ -153,10 +153,10 @@
 <span class="sourceLineNo">145</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.145"></a>
 <span class="sourceLineNo">146</span>    throws IOException {<a name="line.146"></a>
 <span class="sourceLineNo">147</span>      try {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.148"></a>
+<span class="sourceLineNo">148</span>        if (tables.isEmpty() || tables.containsKey(key.getTableName())) {<a name="line.148"></a>
 <span class="sourceLineNo">149</span>          TableName targetTable = tables.isEmpty() ?<a name="line.149"></a>
-<span class="sourceLineNo">150</span>                key.getTablename() :<a name="line.150"></a>
-<span class="sourceLineNo">151</span>                tables.get(key.getTablename());<a name="line.151"></a>
+<span class="sourceLineNo">150</span>                key.getTableName() :<a name="line.150"></a>
+<span class="sourceLineNo">151</span>                tables.get(key.getTableName());<a name="line.151"></a>
 <span class="sourceLineNo">152</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.152"></a>
 <span class="sourceLineNo">153</span>          Put put = null;<a name="line.153"></a>
 <span class="sourceLineNo">154</span>          Delete del = null;<a name="line.154"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 6a66454..bfd2656 100644
--- a/book.html
+++ b/book.html
@@ -37262,7 +37262,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-02-01 14:29:41 UTC
+Last updated 2018-02-02 14:29:41 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index 1d44105..2f00f20 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="20180201" />
+    <meta name="Date-Revision-yyyymmdd" content="20180202" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -311,7 +311,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-02-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-02-02</li>
             </p>
                 </div>
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.html
index 46cee7a..c1441ad 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.html
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.LimitedPrivate(value="Tools")
  @InterfaceStability.Evolving
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.205">HBaseFsck</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.203">HBaseFsck</a>
 extends org.apache.hadoop.conf.Configured
 implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre>
 <div class="block">HBaseFsck (hbck) is a tool for checking and repairing region consistency and
@@ -1376,7 +1376,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_TIME_LAG</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.206">DEFAULT_TIME_LAG</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.204">DEFAULT_TIME_LAG</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.DEFAULT_TIME_LAG">Constant Field Values</a></dd>
@@ -1389,7 +1389,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_SLEEP_BEFORE_RERUN</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.207">DEFAULT_SLEEP_BEFORE_RERUN</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.205">DEFAULT_SLEEP_BEFORE_RERUN</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.DEFAULT_SLEEP_BEFORE_RERUN">Constant Field Values</a></dd>
@@ -1402,7 +1402,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>MAX_NUM_THREADS</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.208">MAX_NUM_THREADS</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.206">MAX_NUM_THREADS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.MAX_NUM_THREADS">Constant Field Values</a></dd>
@@ -1415,7 +1415,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>rsSupportsOffline</h4>
-<pre>private static&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.209">rsSupportsOffline</a></pre>
+<pre>private static&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.207">rsSupportsOffline</a></pre>
 </li>
 </ul>
 <a name="DEFAULT_OVERLAPS_TO_SIDELINE">
@@ -1424,7 +1424,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_OVERLAPS_TO_SIDELINE</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.210">DEFAULT_OVERLAPS_TO_SIDELINE</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.208">DEFAULT_OVERLAPS_TO_SIDELINE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.DEFAULT_OVERLAPS_TO_SIDELINE">Constant Field Values</a></dd>
@@ -1437,7 +1437,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MAX_MERGE</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.211">DEFAULT_MAX_MERGE</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.209">DEFAULT_MAX_MERGE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.DEFAULT_MAX_MERGE">Constant Field Values</a></dd>
@@ -1450,7 +1450,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>TO_BE_LOADED</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.212">TO_BE_LOADED</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.210">TO_BE_LOADED</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.TO_BE_LOADED">Constant Field Values</a></dd>
@@ -1463,7 +1463,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>HBCK_LOCK_FILE</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.213">HBCK_LOCK_FILE</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.211">HBCK_LOCK_FILE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.HBCK_LOCK_FILE">Constant Field Values</a></dd>
@@ -1476,7 +1476,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MAX_LOCK_FILE_ATTEMPTS</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.214">DEFAULT_MAX_LOCK_FILE_ATTEMPTS</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.212">DEFAULT_MAX_LOCK_FILE_ATTEMPTS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.DEFAULT_MAX_LOCK_FILE_ATTEMPTS">Constant Field Values</a></dd>
@@ -1489,7 +1489,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_LOCK_FILE_ATTEMPT_SLEEP_INTERVAL</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.215">DEFAULT_LOCK_FILE_ATTEMPT_SLEEP_INTERVAL</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.213">DEFAULT_LOCK_FILE_ATTEMPT_SLEEP_INTERVAL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.DEFAULT_LOCK_FILE_ATTEMPT_SLEEP_INTERVAL">Constant Field Values</a></dd>
@@ -1502,7 +1502,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_LOCK_FILE_ATTEMPT_MAX_SLEEP_TIME</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.216">DEFAULT_LOCK_FILE_ATTEMPT_MAX_SLEEP_TIME</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.214">DEFAULT_LOCK_FILE_ATTEMPT_MAX_SLEEP_TIME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.DEFAULT_LOCK_FILE_ATTEMPT_MAX_SLEEP_TIME">Constant Field Values</a></dd>
@@ -1515,7 +1515,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_WAIT_FOR_LOCK_TIMEOUT</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.221">DEFAULT_WAIT_FOR_LOCK_TIMEOUT</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.219">DEFAULT_WAIT_FOR_LOCK_TIMEOUT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.DEFAULT_WAIT_FOR_LOCK_TIMEOUT">Constant Field Values</a></dd>
@@ -1528,7 +1528,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MAX_CREATE_ZNODE_ATTEMPTS</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.222">DEFAULT_MAX_CREATE_ZNODE_ATTEMPTS</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.220">DEFAULT_MAX_CREATE_ZNODE_ATTEMPTS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.DEFAULT_MAX_CREATE_ZNODE_ATTEMPTS">Constant Field Values</a></dd>
@@ -1541,7 +1541,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CREATE_ZNODE_ATTEMPT_SLEEP_INTERVAL</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.223">DEFAULT_CREATE_ZNODE_ATTEMPT_SLEEP_INTERVAL</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.221">DEFAULT_CREATE_ZNODE_ATTEMPT_SLEEP_INTERVAL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.DEFAULT_CREATE_ZNODE_ATTEMPT_SLEEP_INTERVAL">Constant Field Values</a></dd>
@@ -1554,7 +1554,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CREATE_ZNODE_ATTEMPT_MAX_SLEEP_TIME</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.224">DEFAULT_CREATE_ZNODE_ATTEMPT_MAX_SLEEP_TIME</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.222">DEFAULT_CREATE_ZNODE_ATTEMPT_MAX_SLEEP_TIME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.DEFAULT_CREATE_ZNODE_ATTEMPT_MAX_SLEEP_TIME">Constant Field Values</a></dd>
@@ -1567,7 +1567,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <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/util/HBaseFsck.html#line.229">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.227">LOG</a></pre>
 <div class="block">Internal resources</div>
 </li>
 </ul>
@@ -1577,7 +1577,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>status</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.230">status</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.228">status</a></pre>
 </li>
 </ul>
 <a name="connection">
@@ -1586,7 +1586,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>connection</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.231">connection</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.229">connection</a></pre>
 </li>
 </ul>
 <a name="admin">
@@ -1595,7 +1595,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>admin</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.232">admin</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.230">admin</a></pre>
 </li>
 </ul>
 <a name="meta">
@@ -1604,7 +1604,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>meta</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.233">meta</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.231">meta</a></pre>
 </li>
 </ul>
 <a name="executor">
@@ -1613,7 +1613,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>executor</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.235">executor</a></pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.233">executor</a></pre>
 </li>
 </ul>
 <a name="startMillis">
@@ -1622,7 +1622,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>startMillis</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.236">startMillis</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.234">startMillis</a></pre>
 </li>
 </ul>
 <a name="hfcc">
@@ -1631,7 +1631,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>hfcc</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.html" title="class in org.apache.hadoop.hbase.util.hbck">HFileCorruptionChecker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.237">hfcc</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.html" title="class in org.apache.hadoop.hbase.util.hbck">HFileCorruptionChecker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.235">hfcc</a></pre>
 </li>
 </ul>
 <a name="retcode">
@@ -1640,7 +1640,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>retcode</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.238">retcode</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.236">retcode</a></pre>
 </li>
 </ul>
 <a name="HBCK_LOCK_PATH">
@@ -1649,7 +1649,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>HBCK_LOCK_PATH</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.239">HBCK_LOCK_PATH</a></pre>
+<pre>private&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.237">HBCK_LOCK_PATH</a></pre>
 </li>
 </ul>
 <a name="hbckOutFd">
@@ -1658,7 +1658,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>hbckOutFd</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.FSDataOutputStream <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.240">hbckOutFd</a></pre>
+<pre>private&nbsp;org.apache.hadoop.fs.FSDataOutputStream <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.238">hbckOutFd</a></pre>
 </li>
 </ul>
 <a name="hbckLockCleanup">
@@ -1667,7 +1667,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>hbckLockCleanup</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.244">hbckLockCleanup</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.242">hbckLockCleanup</a></pre>
 </li>
 </ul>
 <a name="details">
@@ -1676,7 +1676,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>details</h4>
-<pre>private static&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.249">details</a></pre>
+<pre>private static&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.247">details</a></pre>
 <div class="block">Options</div>
 </li>
 </ul>
@@ -1686,7 +1686,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>timelag</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.250">timelag</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.248">timelag</a></pre>
 </li>
 </ul>
 <a name="forceExclusive">
@@ -1695,7 +1695,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>forceExclusive</h4>
-<pre>private static&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.251">forceExclusive</a></pre>
+<pre>private static&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.249">forceExclusive</a></pre>
 </li>
 </ul>
 <a name="fixAssignments">
@@ -1704,7 +1704,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixAssignments</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.252">fixAssignments</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.250">fixAssignments</a></pre>
 </li>
 </ul>
 <a name="fixMeta">
@@ -1713,7 +1713,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixMeta</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.253">fixMeta</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.251">fixMeta</a></pre>
 </li>
 </ul>
 <a name="checkHdfs">
@@ -1722,7 +1722,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>checkHdfs</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.254">checkHdfs</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.252">checkHdfs</a></pre>
 </li>
 </ul>
 <a name="fixHdfsHoles">
@@ -1731,7 +1731,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixHdfsHoles</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.255">fixHdfsHoles</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.253">fixHdfsHoles</a></pre>
 </li>
 </ul>
 <a name="fixHdfsOverlaps">
@@ -1740,7 +1740,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixHdfsOverlaps</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.256">fixHdfsOverlaps</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.254">fixHdfsOverlaps</a></pre>
 </li>
 </ul>
 <a name="fixHdfsOrphans">
@@ -1749,7 +1749,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixHdfsOrphans</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.257">fixHdfsOrphans</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.255">fixHdfsOrphans</a></pre>
 </li>
 </ul>
 <a name="fixTableOrphans">
@@ -1758,7 +1758,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixTableOrphans</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.258">fixTableOrphans</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.256">fixTableOrphans</a></pre>
 </li>
 </ul>
 <a name="fixVersionFile">
@@ -1767,7 +1767,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixVersionFile</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.259">fixVersionFile</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.257">fixVersionFile</a></pre>
 </li>
 </ul>
 <a name="fixSplitParents">
@@ -1776,7 +1776,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixSplitParents</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.260">fixSplitParents</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.258">fixSplitParents</a></pre>
 </li>
 </ul>
 <a name="removeParents">
@@ -1785,7 +1785,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>removeParents</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.261">removeParents</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.259">removeParents</a></pre>
 </li>
 </ul>
 <a name="fixReferenceFiles">
@@ -1794,7 +1794,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixReferenceFiles</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.262">fixReferenceFiles</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.260">fixReferenceFiles</a></pre>
 </li>
 </ul>
 <a name="fixHFileLinks">
@@ -1803,7 +1803,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixHFileLinks</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.263">fixHFileLinks</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.261">fixHFileLinks</a></pre>
 </li>
 </ul>
 <a name="fixEmptyMetaCells">
@@ -1812,7 +1812,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixEmptyMetaCells</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.264">fixEmptyMetaCells</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.262">fixEmptyMetaCells</a></pre>
 </li>
 </ul>
 <a name="fixReplication">
@@ -1821,7 +1821,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixReplication</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.265">fixReplication</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.263">fixReplication</a></pre>
 </li>
 </ul>
 <a name="fixAny">
@@ -1830,7 +1830,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixAny</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.266">fixAny</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.264">fixAny</a></pre>
 </li>
 </ul>
 <a name="tablesIncluded">
@@ -1839,7 +1839,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>tablesIncluded</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.270">tablesIncluded</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.268">tablesIncluded</a></pre>
 </li>
 </ul>
 <a name="maxMerge">
@@ -1848,7 +1848,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>maxMerge</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.271">maxMerge</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.269">maxMerge</a></pre>
 </li>
 </ul>
 <a name="maxOverlapsToSideline">
@@ -1857,7 +1857,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>maxOverlapsToSideline</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.273">maxOverlapsToSideline</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.271">maxOverlapsToSideline</a></pre>
 </li>
 </ul>
 <a name="sidelineBigOverlaps">
@@ -1866,7 +1866,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>sidelineBigOverlaps</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.274">sidelineBigOverlaps</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.272">sidelineBigOverlaps</a></pre>
 </li>
 </ul>
 <a name="sidelineDir">
@@ -1875,7 +1875,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>sidelineDir</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.275">sidelineDir</a></pre>
+<pre>private&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.273">sidelineDir</a></pre>
 </li>
 </ul>
 <a name="rerun">
@@ -1884,7 +1884,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>rerun</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.277">rerun</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.275">rerun</a></pre>
 </li>
 </ul>
 <a name="summary">
@@ -1893,7 +1893,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>summary</h4>
-<pre>private static&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.278">summary</a></pre>
+<pre>private static&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.276">summary</a></pre>
 </li>
 </ul>
 <a name="checkMetaOnly">
@@ -1902,7 +1902,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>checkMetaOnly</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.279">checkMetaOnly</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.277">checkMetaOnly</a></pre>
 </li>
 </ul>
 <a name="checkRegionBoundaries">
@@ -1911,7 +1911,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>checkRegionBoundaries</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.280">checkRegionBoundaries</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.278">checkRegionBoundaries</a></pre>
 </li>
 </ul>
 <a name="ignorePreCheckPermission">
@@ -1920,7 +1920,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>ignorePreCheckPermission</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.281">ignorePreCheckPermission</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.279">ignorePreCheckPermission</a></pre>
 </li>
 </ul>
 <a name="errors">
@@ -1929,7 +1929,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>errors</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.286">errors</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.284">errors</a></pre>
 <div class="block">State</div>
 </li>
 </ul>
@@ -1939,7 +1939,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixes</h4>
-<pre>int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.287">fixes</a></pre>
+<pre>int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.285">fixes</a></pre>
 </li>
 </ul>
 <a name="regionInfoMap">
@@ -1948,7 +1948,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>regionInfoMap</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.294">regionInfoMap</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html?is-external=true" title="class or interface in java.util">TreeMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.292">regionInfoMap</a></pre>
 <div class="block">This map contains the state of all hbck items.  It maps from encoded region
  name to HbckInfo structure.  The information contained in HbckInfo is used
  to detect and correct consistency (hdfs/meta/deployment) problems.</div>
@@ -1960,7 +1960,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>emptyRegionInfoQualifiers</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.296">emptyRegionInfoQualifiers</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.294">emptyRegionInfoQualifiers</a></pre>
 </li>
 </ul>
 <a name="tablesInfo">
@@ -1969,7 +1969,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>tablesInfo</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</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/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.308">tablesInfo</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</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/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.306">tablesInfo</a></pre>
 <div class="block">This map from Tablename -> TableInfo contains the structures necessary to
  detect table consistency problems (holes, dupes, overlaps).  It is sorted
  to prevent dupes.
@@ -1986,7 +1986,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>orphanHdfsDirs</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.313">orphanHdfsDirs</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.311">orphanHdfsDirs</a></pre>
 <div class="block">When initially looking at HDFS, we attempt to find any orphaned data.</div>
 </li>
 </ul>
@@ -1996,7 +1996,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>orphanTableDirs</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.315">orphanTableDirs</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.313">orphanTableDirs</a></pre>
 </li>
 </ul>
 <a name="tableStates">
@@ -2005,7 +2005,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>tableStates</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../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; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.316">tableStates</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../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; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.314">tableStates</a></pre>
 </li>
 </ul>
 <a name="lockFileRetryCounterFactory">
@@ -2014,7 +2014,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>lockFileRetryCounterFactory</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/RetryCounterFactory.html" title="class in org.apache.hadoop.hbase.util">RetryCounterFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.317">lockFileRetryCounterFactory</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/RetryCounterFactory.html" title="class in org.apache.hadoop.hbase.util">RetryCounterFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.315">lockFileRetryCounterFactory</a></pre>
 </li>
 </ul>
 <a name="createZNodeRetryCounterFactory">
@@ -2023,7 +2023,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>createZNodeRetryCounterFactory</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/RetryCounterFactory.html" title="class in org.apache.hadoop.hbase.util">RetryCounterFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.318">createZNodeRetryCounterFactory</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/RetryCounterFactory.html" title="class in org.apache.hadoop.hbase.util">RetryCounterFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.316">createZNodeRetryCounterFactory</a></pre>
 </li>
 </ul>
 <a name="skippedRegions">
@@ -2032,7 +2032,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>skippedRegions</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.320">skippedRegions</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.318">skippedRegions</a></pre>
 </li>
 </ul>
 <a name="zkw">
@@ -2041,7 +2041,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>zkw</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.322">zkw</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.320">zkw</a></pre>
 </li>
 </ul>
 <a name="hbckEphemeralNodePath">
@@ -2050,7 +2050,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>hbckEphemeralNodePath</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.323">hbckEphemeralNodePath</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.321">hbckEphemeralNodePath</a></pre>
 </li>
 </ul>
 <a name="hbckZodeCreated">
@@ -2059,7 +2059,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>hbckZodeCreated</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.324">hbckZodeCreated</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.322">hbckZodeCreated</a></pre>
 </li>
 </ul>
 <a name="cmp">
@@ -2068,7 +2068,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>cmp</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4014">cmp</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4010">cmp</a></pre>
 </li>
 </ul>
 </li>
@@ -2085,7 +2085,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>HBaseFsck</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.333">HBaseFsck</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.331">HBaseFsck</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></pre>
 <div class="block">Constructor</div>
@@ -2106,7 +2106,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HBaseFsck</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.352">HBaseFsck</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.350">HBaseFsck</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;exec)
           throws <a href="../../../../../org/apache/hadoop/hbase/MasterNotRunningException.html" title="class in org.apache.hadoop.hbase">MasterNotRunningException</a>,
                  <a href="../../../../../org/apache/hadoop/hbase/ZooKeeperConnectionException.html" title="class in org.apache.hadoop.hbase">ZooKeeperConnectionException</a>,
@@ -2138,7 +2138,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>createThreadPool</h4>
-<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.337">createThreadPool</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.335">createThreadPool</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 </li>
 </ul>
 <a name="checkAndMarkRunningHbck--">
@@ -2147,7 +2147,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMarkRunningHbck</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.FSDataOutputStream&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.437">checkAndMarkRunningHbck</a>()
+<pre>private&nbsp;org.apache.hadoop.fs.FSDataOutputStream&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.435">checkAndMarkRunningHbck</a>()
                                                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This method maintains a lock using a file. If the creation fails we return null</div>
 <dl>
@@ -2164,7 +2164,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>unlockHbck</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.463">unlockHbck</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.461">unlockHbck</a>()</pre>
 </li>
 </ul>
 <a name="connect--">
@@ -2173,7 +2173,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>connect</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.495">connect</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.493">connect</a>()
              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">To repair region consistency, one must call connect() in order to repair
  online state.</div>
@@ -2189,7 +2189,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>loadDeployedRegions</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.538">loadDeployedRegions</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.536">loadDeployedRegions</a>()
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Get deployed regions according to the region servers.</div>
@@ -2206,7 +2206,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>clearState</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.588">clearState</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.586">clearState</a>()</pre>
 <div class="block">Clear the current state of hbck.</div>
 </li>
 </ul>
@@ -2216,7 +2216,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>offlineHdfsIntegrityRepair</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.605">offlineHdfsIntegrityRepair</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.603">offlineHdfsIntegrityRepair</a>()
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">This repair method analyzes hbase data in hdfs and repairs it to satisfy
@@ -2235,7 +2235,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>onlineConsistencyRepair</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.641">onlineConsistencyRepair</a>()
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.639">onlineConsistencyRepair</a>()
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                    org.apache.zookeeper.KeeperException,
                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -2259,7 +2259,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setMasterInMaintenanceMode</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.707">setMasterInMaintenanceMode</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.705">setMasterInMaintenanceMode</a>()
                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This method maintains an ephemeral znode. If the creation fails we return false or throw
  exception</div>
@@ -2277,7 +2277,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupHbckZnode</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.738">cleanupHbckZnode</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.736">cleanupHbckZnode</a>()</pre>
 </li>
 </ul>
 <a name="onlineHbck--">
@@ -2286,7 +2286,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>onlineHbck</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.756">onlineHbck</a>()
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.754">onlineHbck</a>()
                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                       org.apache.zookeeper.KeeperException,
                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
@@ -2309,7 +2309,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>keyOnly</h4>
-<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.795">keyOnly</a>(byte[]&nbsp;b)</pre>
+<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.793">keyOnly</a>(byte[]&nbsp;b)</pre>
 </li>
 </ul>
 <a name="close--">
@@ -2318,7 +2318,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.805">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.803">close</a>()
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -2336,7 +2336,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>checkRegionBoundaries</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.838">checkRegionBoundaries</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.836">checkRegionBoundaries</a>()</pre>
 </li>
 </ul>
 <a name="adoptHdfsOrphans-java.util.Collection-">
@@ -2345,7 +2345,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>adoptHdfsOrphans</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.923">adoptHdfsOrphans</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt;&nbsp;orphanHdfsDirs)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.921">adoptHdfsOrphans</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt;&nbsp;orphanHdfsDirs)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Iterates through the list of all orphan/invalid regiondirs.</div>
 <dl>
@@ -2360,7 +2360,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>adoptHdfsOrphan</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.940">adoptHdfsOrphan</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hi)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.938">adoptHdfsOrphan</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hi)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Orphaned regions are regions without a .regioninfo file in them.  We "adopt"
  these orphans by creating a new region, and moving the column families,
@@ -2381,7 +2381,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreHdfsIntegrity</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1034">restoreHdfsIntegrity</a>()
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1032">restoreHdfsIntegrity</a>()
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">This method determines if there are table integrity errors in HDFS.  If
@@ -2403,7 +2403,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>offlineReferenceFileRepair</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1082">offlineReferenceFileRepair</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1080">offlineReferenceFileRepair</a>()
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Scan all the store file names to find any lingering reference files,
@@ -2425,7 +2425,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>offlineHLinkFileRepair</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1136">offlineHLinkFileRepair</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1134">offlineHLinkFileRepair</a>()
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Scan all the store file names to find any lingering HFileLink files,
@@ -2444,7 +2444,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>sidelineFile</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1183">sidelineFile</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1181">sidelineFile</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                              org.apache.hadoop.fs.Path&nbsp;hbaseRoot,
                              org.apache.hadoop.fs.Path&nbsp;path)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -2460,7 +2460,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>reportEmptyMetaCells</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1201">reportEmptyMetaCells</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1199">reportEmptyMetaCells</a>()</pre>
 <div class="block">TODO -- need to add tests for this.</div>
 </li>
 </ul>
@@ -2470,7 +2470,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>reportTablesInFlux</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1214">reportTablesInFlux</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1212">reportTablesInFlux</a>()</pre>
 <div class="block">TODO -- need to add tests for this.</div>
 </li>
 </ul>
@@ -2480,7 +2480,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getErrors</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1231">getErrors</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1229">getErrors</a>()</pre>
 </li>
 </ul>
 <a name="loadHdfsRegioninfo-org.apache.hadoop.hbase.util.HBaseFsck.HbckInfo-">
@@ -2489,7 +2489,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>loadHdfsRegioninfo</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1239">loadHdfsRegioninfo</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hbi)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1237">loadHdfsRegioninfo</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hbi)
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Read the .regioninfo file from the file system.  If there is no
  .regioninfo, add it to the orphan hdfs region list.</div>
@@ -2505,7 +2505,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>loadHdfsRegionInfos</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</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/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1276">loadHdfsRegionInfos</a>()
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</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/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1274">loadHdfsRegionInfos</a>()
                                                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Populate hbi's from regionInfos loaded from file system.</div>
@@ -2522,7 +2522,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumnFamilyList</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1362">getColumnFamilyList</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;columns,
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1360">getColumnFamilyList</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;columns,
                                         <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hbi)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">To get the column family list according to the column family dirs</div>
@@ -2543,7 +2543,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fabricateTableInfo</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1380">fabricateTableInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html" title="class in org.apache.hadoop.hbase.util">FSTableDescriptors</a>&nbsp;fstd,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1378">fabricateTableInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html" title="class in org.apache.hadoop.hbase.util">FSTableDescriptors</a>&nbsp;fstd,
                                    <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;columns)
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -2563,7 +2563,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixEmptyMetaCells</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1395">fixEmptyMetaCells</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1393">fixEmptyMetaCells</a>()
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">To fix the empty REGIONINFO_QUALIFIER rows from hbase:meta <br></div>
 <dl>
@@ -2578,7 +2578,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>fixOrphanTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1415">fixOrphanTables</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1413">fixOrphanTables</a>()
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">To fix orphan table by creating a .tableinfo file under tableDir <br>
  1. if TableInfo is cached, to recover the .tableinfo accordingly <br>
@@ -2598,7 +2598,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>createNewMeta</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1475">createNewMeta</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;walFactoryID)
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1473">createNewMeta</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;walFactoryID)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This borrows code from MasterFileSystem.bootstrap(). Explicitly creates it's own WAL, so be
  sure to close it as well as the region when you're finished.</div>
@@ -2619,7 +2619,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>generatePuts</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1499">generatePuts</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</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/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&gt;&nbsp;tablesInfo)
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1495">generatePuts</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</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/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&gt;&nbsp;tablesInfo)
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Generate set of puts to add to new meta.  This expects the tables to be
  clean with no overlaps or holes.  If there are any problems it returns null.</div>
@@ -2637,7 +2637,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>suggestFixes</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1539">suggestFixes</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</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/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&gt;&nbsp;tablesInfo)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1535">suggestFixes</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</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/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&gt;&nbsp;tablesInfo)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Suggest fixes for each table</div>
 <dl>
@@ -2652,7 +2652,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>rebuildMeta</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1555">rebuildMeta</a>(boolean&nbsp;fix)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1551">rebuildMeta</a>(boolean&nbsp;fix)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Rebuilds meta from information in hdfs/fs.  Depends on configuration settings passed into
@@ -2674,7 +2674,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>removeHBCKMetaRecoveryWALDir</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1623">removeHBCKMetaRecoveryWALDir</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;walFactoryId)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1619">removeHBCKMetaRecoveryWALDir</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;walFactoryId)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Removes the empty Meta recovery WAL directory.</div>
 <dl>
@@ -2692,7 +2692,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>logParallelMerge</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1639">logParallelMerge</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1635">logParallelMerge</a>()</pre>
 <div class="block">Log an appropriate message about whether or not overlapping merges are computed in parallel.</div>
 </li>
 </ul>
@@ -2702,7 +2702,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>checkHdfsIntegrity</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</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/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1649">checkHdfsIntegrity</a>(boolean&nbsp;fixHoles,
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</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/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1645">checkHdfsIntegrity</a>(boolean&nbsp;fixHoles,
                                                                     boolean&nbsp;fixOverlaps)
                                                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -2717,7 +2717,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getSidelineDir</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1669">getSidelineDir</a>()
+<pre>private&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1665">getSidelineDir</a>()
                                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2731,7 +2731,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>sidelineRegionDir</h4>
-<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1682">sidelineRegionDir</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1678">sidelineRegionDir</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                       

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html
index b7c24d7..eecd2f9 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html
@@ -44,792 +44,792 @@
 <span class="sourceLineNo">036</span>import java.util.List;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import java.util.Map;<a name="line.37"></a>
 <span class="sourceLineNo">038</span>import java.util.NavigableSet;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.Objects;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.PriorityQueue;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.concurrent.ArrayBlockingQueue;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.concurrent.BlockingQueue;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.ConcurrentMap;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentSkipListSet;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.Executors;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.TimeUnit;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.atomic.LongAdder;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.locks.Lock;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.conf.Configuration;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.io.hfile.BlockPriority;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.hfile.BlockType;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.hfile.CacheStats;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.hfile.Cacheable;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.hfile.Cacheable.MemoryType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializer;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializerIdManager;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.CachedBlock;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileBlock;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.IdReadWriteLock;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.util.IdReadWriteLock.ReferenceType;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.util.StringUtils;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.slf4j.Logger;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.slf4j.LoggerFactory;<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>/**<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * BucketCache uses {@link BucketAllocator} to allocate/free blocks, and uses<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * BucketCache#ramCache and BucketCache#backingMap in order to<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * determine if a given element is in the cache. The bucket cache can use on-heap or<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * off-heap memory {@link ByteBufferIOEngine} or in a file {@link FileIOEngine} to<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * store/read the block data.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> *<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;Eviction is via a similar algorithm as used in<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache}<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;p&gt;BucketCache can be used as mainly a block cache (see<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * {@link org.apache.hadoop.hbase.io.hfile.CombinedBlockCache}), combined with<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * LruBlockCache to decrease CMS GC and heap fragmentation.<a name="line.97"></a>
-<span class="sourceLineNo">098</span> *<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * &lt;p&gt;It also can be used as a secondary cache (e.g. using a file on ssd/fusionio to store<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * blocks) to enlarge cache space via<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache#setVictimCache}<a name="line.101"></a>
-<span class="sourceLineNo">102</span> */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>@InterfaceAudience.Private<a name="line.103"></a>
-<span class="sourceLineNo">104</span>public class BucketCache implements BlockCache, HeapSize {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  private static final Logger LOG = LoggerFactory.getLogger(BucketCache.class);<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  /** Priority buckets config */<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  static final String SINGLE_FACTOR_CONFIG_NAME = "hbase.bucketcache.single.factor";<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  static final String MULTI_FACTOR_CONFIG_NAME = "hbase.bucketcache.multi.factor";<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  static final String MEMORY_FACTOR_CONFIG_NAME = "hbase.bucketcache.memory.factor";<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  static final String EXTRA_FREE_FACTOR_CONFIG_NAME = "hbase.bucketcache.extrafreefactor";<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  static final String ACCEPT_FACTOR_CONFIG_NAME = "hbase.bucketcache.acceptfactor";<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  static final String MIN_FACTOR_CONFIG_NAME = "hbase.bucketcache.minfactor";<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /** Priority buckets */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  @VisibleForTesting<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  static final float DEFAULT_SINGLE_FACTOR = 0.25f;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  static final float DEFAULT_MULTI_FACTOR = 0.50f;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  static final float DEFAULT_MEMORY_FACTOR = 0.25f;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  static final float DEFAULT_MIN_FACTOR = 0.85f;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private static final float DEFAULT_EXTRA_FREE_FACTOR = 0.10f;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  private static final float DEFAULT_ACCEPT_FACTOR = 0.95f;<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  // Number of blocks to clear for each of the bucket size that is full<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  private static final int DEFAULT_FREE_ENTIRE_BLOCK_FACTOR = 2;<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>  /** Statistics thread */<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  private static final int statThreadPeriod = 5 * 60;<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  final static int DEFAULT_WRITER_THREADS = 3;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  final static int DEFAULT_WRITER_QUEUE_ITEMS = 64;<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  // Store/read block data<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  final IOEngine ioEngine;<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  // Store the block in this map before writing it to cache<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  @VisibleForTesting<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  final ConcurrentMap&lt;BlockCacheKey, RAMQueueEntry&gt; ramCache;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  // In this map, store the block's meta data like offset, length<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  @VisibleForTesting<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  ConcurrentMap&lt;BlockCacheKey, BucketEntry&gt; backingMap;<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * Flag if the cache is enabled or not... We shut it off if there are IO<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * errors for some time, so that Bucket IO exceptions/errors don't bring down<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * the HBase server.<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   */<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private volatile boolean cacheEnabled;<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 list of writer queues.  We have a queue per {@link WriterThread} we have running.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * In other words, the work adding blocks to the BucketCache is divided up amongst the<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * running WriterThreads.  Its done by taking hash of the cache key modulo queue count.<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * WriterThread when it runs takes whatever has been recently added and 'drains' the entries<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * to the BucketCache.  It then updates the ramCache and backingMap accordingly.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @VisibleForTesting<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  final ArrayList&lt;BlockingQueue&lt;RAMQueueEntry&gt;&gt; writerQueues = new ArrayList&lt;&gt;();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  @VisibleForTesting<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  final WriterThread[] writerThreads;<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>  /** Volatile boolean to track if free space is in process or not */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  private volatile boolean freeInProgress = false;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  private final Lock freeSpaceLock = new ReentrantLock();<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>  private UniqueIndexMap&lt;Integer&gt; deserialiserMap = new UniqueIndexMap&lt;&gt;();<a name="line.167"></a>
-<span class="sourceLineNo">168</span><a name="line.168"></a>
-<span class="sourceLineNo">169</span>  private final LongAdder realCacheSize = new LongAdder();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  private final LongAdder heapSize = new LongAdder();<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  /** Current number of cached elements */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  private final LongAdder blockNumber = new LongAdder();<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  /** Cache access count (sequential ID) */<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  private final AtomicLong accessCount = new AtomicLong();<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>  private static final int DEFAULT_CACHE_WAIT_TIME = 50;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  // Used in test now. If the flag is false and the cache speed is very fast,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  // bucket cache will skip some blocks when caching. If the flag is true, we<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  // will wait blocks flushed to IOEngine for some time when caching<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  boolean wait_when_cache = false;<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  private final BucketCacheStats cacheStats = new BucketCacheStats();<a name="line.183"></a>
-<span class="sourceLineNo">184</span><a name="line.184"></a>
-<span class="sourceLineNo">185</span>  private final String persistencePath;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  private final long cacheCapacity;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  /** Approximate block size */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private final long blockSize;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  /** Duration of IO errors tolerated before we disable cache, 1 min as default */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private final int ioErrorsTolerationDuration;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  // 1 min<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  public static final int DEFAULT_ERROR_TOLERATION_DURATION = 60 * 1000;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>  // Start time of first IO error when reading or writing IO Engine, it will be<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  // reset after a successful read/write.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private volatile long ioErrorStartTime = -1;<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 ReentrantReadWriteLock to lock on a particular block identified by offset.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * The purpose of this is to avoid freeing the block which is being read.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * &lt;p&gt;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * Key set of offsets in BucketCache is limited so soft reference is the best choice here.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  @VisibleForTesting<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  final IdReadWriteLock offsetLock = new IdReadWriteLock(ReferenceType.SOFT);<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  private final NavigableSet&lt;BlockCacheKey&gt; blocksByHFile =<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      new ConcurrentSkipListSet&lt;&gt;(new Comparator&lt;BlockCacheKey&gt;() {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        public int compare(BlockCacheKey a, BlockCacheKey b) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>          int nameComparison = a.getHfileName().compareTo(b.getHfileName());<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          if (nameComparison != 0) {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>            return nameComparison;<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>          if (a.getOffset() == b.getOffset()) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>            return 0;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>          } else if (a.getOffset() &lt; b.getOffset()) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>            return -1;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>          }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>          return 1;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      });<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  /** Statistics thread schedule pool (for heavy debugging, could remove) */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private final ScheduledExecutorService scheduleThreadPool = Executors.newScheduledThreadPool(1,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    new ThreadFactoryBuilder().setNameFormat("BucketCacheStatsExecutor").setDaemon(true).build());<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  // Allocate or free space for the block<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  private BucketAllocator bucketAllocator;<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span>  /** Acceptable size of cache (no evictions if size &lt; acceptable) */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private float acceptableFactor;<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /** Minimum threshold of cache (when evicting, evict until size &lt; min) */<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  private float minFactor;<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /** Free this floating point factor of extra blocks when evicting. For example free the number of blocks requested * (1 + extraFreeFactor) */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private float extraFreeFactor;<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /** Single access bucket size */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private float singleFactor;<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /** Multiple access bucket size */<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  private float multiFactor;<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  /** In-memory bucket size */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private float memoryFactor;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  public BucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes,<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      int writerThreadNum, int writerQLen, String persistencePath) throws FileNotFoundException,<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      IOException {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    this(ioEngineName, capacity, blockSize, bucketSizes, writerThreadNum, writerQLen,<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      persistencePath, DEFAULT_ERROR_TOLERATION_DURATION, HBaseConfiguration.create());<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>  public BucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes,<a name="line.258"></a>
-<span class="sourceLineNo">259</span>                     int writerThreadNum, int writerQLen, String persistencePath, int ioErrorsTolerationDuration,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                     Configuration conf)<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throws FileNotFoundException, IOException {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    this.ioEngine = getIOEngineFromName(ioEngineName, capacity, persistencePath);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    this.writerThreads = new WriterThread[writerThreadNum];<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    long blockNumCapacity = capacity / blockSize;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (blockNumCapacity &gt;= Integer.MAX_VALUE) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      // Enough for about 32TB of cache!<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      throw new IllegalArgumentException("Cache capacity is too large, only support 32TB now");<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>    this.acceptableFactor = conf.getFloat(ACCEPT_FACTOR_CONFIG_NAME, DEFAULT_ACCEPT_FACTOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    this.minFactor = conf.getFloat(MIN_FACTOR_CONFIG_NAME, DEFAULT_MIN_FACTOR);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    this.extraFreeFactor = conf.getFloat(EXTRA_FREE_FACTOR_CONFIG_NAME, DEFAULT_EXTRA_FREE_FACTOR);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    this.singleFactor = conf.getFloat(SINGLE_FACTOR_CONFIG_NAME, DEFAULT_SINGLE_FACTOR);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    this.multiFactor = conf.getFloat(MULTI_FACTOR_CONFIG_NAME, DEFAULT_MULTI_FACTOR);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    this.memoryFactor = conf.getFloat(MEMORY_FACTOR_CONFIG_NAME, DEFAULT_MEMORY_FACTOR);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>    sanityCheckConfigs();<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>    LOG.info("Instantiating BucketCache with acceptableFactor: " + acceptableFactor + ", minFactor: " + minFactor +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        ", extraFreeFactor: " + extraFreeFactor + ", singleFactor: " + singleFactor + ", multiFactor: " + multiFactor +<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        ", memoryFactor: " + memoryFactor);<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    this.cacheCapacity = capacity;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    this.persistencePath = persistencePath;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    this.blockSize = blockSize;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    this.ioErrorsTolerationDuration = ioErrorsTolerationDuration;<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>    bucketAllocator = new BucketAllocator(capacity, bucketSizes);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    for (int i = 0; i &lt; writerThreads.length; ++i) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      writerQueues.add(new ArrayBlockingQueue&lt;&gt;(writerQLen));<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    assert writerQueues.size() == writerThreads.length;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    this.ramCache = new ConcurrentHashMap&lt;&gt;();<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    this.backingMap = new ConcurrentHashMap&lt;&gt;((int) blockNumCapacity);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if (ioEngine.isPersistent() &amp;&amp; persistencePath != null) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      try {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        retrieveFromFile(bucketSizes);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      } catch (IOException ioex) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        LOG.error("Can't restore from file because of", ioex);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      } catch (ClassNotFoundException cnfe) {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        LOG.error("Can't restore from file in rebuild because can't deserialise",cnfe);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        throw new RuntimeException(cnfe);<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>    final String threadName = Thread.currentThread().getName();<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    this.cacheEnabled = true;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    for (int i = 0; i &lt; writerThreads.length; ++i) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      writerThreads[i] = new WriterThread(writerQueues.get(i));<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      writerThreads[i].setName(threadName + "-BucketCacheWriter-" + i);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      writerThreads[i].setDaemon(true);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    startWriterThreads();<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    // Run the statistics thread periodically to print the cache statistics log<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    // TODO: Add means of turning this off.  Bit obnoxious running thread just to make a log<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    // every five minutes.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    this.scheduleThreadPool.scheduleAtFixedRate(new StatisticsThread(this),<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        statThreadPeriod, statThreadPeriod, TimeUnit.SECONDS);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    LOG.info("Started bucket cache; ioengine=" + ioEngineName +<a name="line.322"></a>
-<span class="sourceLineNo">323</span>        ", capacity=" + StringUtils.byteDesc(capacity) +<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      ", blockSize=" + StringUtils.byteDesc(blockSize) + ", writerThreadNum=" +<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        writerThreadNum + ", writerQLen=" + writerQLen + ", persistencePath=" +<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      persistencePath + ", bucketAllocator=" + this.bucketAllocator.getClass().getName());<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>  private void sanityCheckConfigs() {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Preconditions.checkArgument(acceptableFactor &lt;= 1 &amp;&amp; acceptableFactor &gt;= 0, ACCEPT_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    Preconditions.checkArgument(minFactor &lt;= 1 &amp;&amp; minFactor &gt;= 0, MIN_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Preconditions.checkArgument(minFactor &lt;= acceptableFactor, MIN_FACTOR_CONFIG_NAME + " must be &lt;= " + ACCEPT_FACTOR_CONFIG_NAME);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    Preconditions.checkArgument(extraFreeFactor &gt;= 0, EXTRA_FREE_FACTOR_CONFIG_NAME + " must be greater than 0.0");<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    Preconditions.checkArgument(singleFactor &lt;= 1 &amp;&amp; singleFactor &gt;= 0, SINGLE_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    Preconditions.checkArgument(multiFactor &lt;= 1 &amp;&amp; multiFactor &gt;= 0, MULTI_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    Preconditions.checkArgument(memoryFactor &lt;= 1 &amp;&amp; memoryFactor &gt;= 0, MEMORY_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    Preconditions.checkArgument((singleFactor + multiFactor + memoryFactor) == 1, SINGLE_FACTOR_CONFIG_NAME + ", " +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        MULTI_FACTOR_CONFIG_NAME + ", and " + MEMORY_FACTOR_CONFIG_NAME + " segments must add up to 1.0");<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  }<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  /**<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * Called by the constructor to start the writer threads. Used by tests that need to override<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * starting the threads.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @VisibleForTesting<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  protected void startWriterThreads() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    for (WriterThread thread : writerThreads) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      thread.start();<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>  @VisibleForTesting<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  boolean isCacheEnabled() {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    return this.cacheEnabled;<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>  @Override<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public long getMaxSize() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    return this.cacheCapacity;<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>  public String getIoEngine() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    return ioEngine.toString();<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>   * Get the IOEngine from the IO engine name<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @param ioEngineName<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * @param capacity<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * @param persistencePath<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @return the IOEngine<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @throws IOException<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  private IOEngine getIOEngineFromName(String ioEngineName, long capacity, String persistencePath)<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      throws IOException {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    if (ioEngineName.startsWith("file:") || ioEngineName.startsWith("files:")) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      // In order to make the usage simple, we only need the prefix 'files:' in<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      // document whether one or multiple file(s), but also support 'file:' for<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      // the compatibility<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      String[] filePaths = ioEngineName.substring(ioEngineName.indexOf(":") + 1)<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          .split(FileIOEngine.FILE_DELIMITER);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return new FileIOEngine(capacity, persistencePath != null, filePaths);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    } else if (ioEngineName.startsWith("offheap")) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      return new ByteBufferIOEngine(capacity);<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    } else if (ioEngineName.startsWith("mmap:")) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      return new FileMmapEngine(ioEngineName.substring(5), capacity);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    } else {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      throw new IllegalArgumentException(<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          "Don't understand io engine name for cache- prefix with file:, files:, mmap: or offheap");<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  }<a name="line.391"></a>
-<span class="sourceLineNo">392</span><a name="line.392"></a>
-<span class="sourceLineNo">393</span>  /**<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * Cache the block with the specified name and buffer.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * @param cacheKey block's cache key<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * @param buf block buffer<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   */<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public void cacheBlock(BlockCacheKey cacheKey, Cacheable buf) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    cacheBlock(cacheKey, buf, false);<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>   * Cache the block with the specified name and buffer.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param cacheKey block's cache key<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param cachedItem block buffer<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * @param inMemory if block is in-memory<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   */<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  @Override<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  public void cacheBlock(BlockCacheKey cacheKey, Cacheable cachedItem, boolean inMemory) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    cacheBlockWithWait(cacheKey, cachedItem, inMemory, wait_when_cache);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * Cache the block to ramCache<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @param cacheKey block's cache key<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @param cachedItem block buffer<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @param inMemory if block is in-memory<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * @param wait if true, blocking wait when queue is full<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   */<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  public void cacheBlockWithWait(BlockCacheKey cacheKey, Cacheable cachedItem, boolean inMemory,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      boolean wait) {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    if (LOG.isTraceEnabled()) LOG.trace("Caching key=" + cacheKey + ", item=" + cachedItem);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    if (!cacheEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      return;<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>    if (backingMap.containsKey(cacheKey)) {<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      Cacheable existingBlock = getBlock(cacheKey, false, false, false);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      try {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        if (BlockCacheUtil.compareCacheBlock(cachedItem, existingBlock) != 0) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>          throw new RuntimeException("Cached block contents differ, which should not have happened."<a name="line.432"></a>
-<span class="sourceLineNo">433</span>              + "cacheKey:" + cacheKey);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        }<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        String msg = "Caching an already cached block: " + cacheKey;<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        msg += ". This is harmless and can happen in rare cases (see HBASE-8547)";<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        LOG.warn(msg);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      } finally {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        // return the block since we need to decrement the count<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        returnBlock(cacheKey, existingBlock);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      }<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>    /*<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * Stuff the entry into the RAM cache so it can get drained to the persistent store<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    RAMQueueEntry re =<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        new RAMQueueEntry(cacheKey, cachedItem, accessCount.incrementAndGet(), inMemory);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    if (ramCache.putIfAbsent(cacheKey, re) != null) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      return;<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    }<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    int queueNum = (cacheKey.hashCode() &amp; 0x7FFFFFFF) % writerQueues.size();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    BlockingQueue&lt;RAMQueueEntry&gt; bq = writerQueues.get(queueNum);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    boolean successfulAddition = false;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    if (wait) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      try {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        successfulAddition = bq.offer(re, DEFAULT_CACHE_WAIT_TIME, TimeUnit.MILLISECONDS);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      } catch (InterruptedException e) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        Thread.currentThread().interrupt();<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    } else {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      successfulAddition = bq.offer(re);<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    if (!successfulAddition) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      ramCache.remove(cacheKey);<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      cacheStats.failInsert();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    } else {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      this.blockNumber.increment();<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      this.heapSize.add(cachedItem.heapSize());<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      blocksByHFile.add(cacheKey);<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>  /**<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * Get the buffer of the block with the specified key.<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * @param key block's cache key<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @param caching true if the caller caches blocks on cache misses<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * @param repeat Whether this is a repeat lookup for the same block<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @param updateCacheMetrics Whether we should update cache metrics or not<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @return buffer of specified cache key, or null if not in cache<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  @Override<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  public Cacheable getBlock(BlockCacheKey key, boolean caching, boolean repeat,<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      boolean updateCacheMetrics) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    if (!cacheEnabled) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return null;<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    RAMQueueEntry re = ramCache.get(key);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (re != null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      if (updateCacheMetrics) {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      }<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      re.access(accessCount.incrementAndGet());<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      return re.getData();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    }<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    BucketEntry bucketEntry = backingMap.get(key);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    if (bucketEntry != null) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      long start = System.nanoTime();<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      try {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>        lock.readLock().lock();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        // We can not read here even if backingMap does contain the given key because its offset<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        // maybe changed. If we lock BlockCacheKey instead of offset, then we can only check<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        // existence here.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>        if (bucketEntry.equals(backingMap.get(key))) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>          // TODO : change this area - should be removed after server cells and<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          // 12295 are available<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          int len = bucketEntry.getLength();<a name="line.509"></a>
-<span class="sourceLineNo">510</span>          if (LOG.isTraceEnabled()) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>            LOG.trace("Read offset=" + bucketEntry.offset() + ", len=" + len);<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          }<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          Cacheable cachedBlock = ioEngine.read(bucketEntry.offset(), len,<a name="line.513"></a>
-<span class="sourceLineNo">514</span>              bucketEntry.deserializerReference(this.deserialiserMap));<a name="line.514"></a>
-<span class="sourceLineNo">515</span>          long timeTaken = System.nanoTime() - start;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          if (updateCacheMetrics) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>            cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.517"></a>
-<span class="sourceLineNo">518</span>            cacheStats.ioHit(timeTaken);<a name="line.518"></a>
-<span class="sourceLineNo">519</span>          }<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          if (cachedBlock.getMemoryType() == MemoryType.SHARED) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>            bucketEntry.refCount.incrementAndGet();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>          bucketEntry.access(accessCount.incrementAndGet());<a name="line.523"></a>
-<span class="sourceLineNo">524</span>          if (this.ioErrorStartTime &gt; 0) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>            ioErrorStartTime = -1;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>          }<a name="line.526"></a>
-<span class="sourceLineNo">527</span>          return cachedBlock;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      } catch (IOException ioex) {<a name="line.529"></a>
-<span class="sourceLineNo">530</span>        LOG.error("Failed reading block " + key + " from bucket cache", ioex);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        checkIOErrorIsTolerated();<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      } finally {<a name="line.532"></a>
-<span class="sourceLineNo">533</span>        lock.readLock().unlock();<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>    if (!repeat &amp;&amp; updateCacheMetrics) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      cacheStats.miss(caching, key.isPrimary(), key.getBlockType());<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    return null;<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>  @VisibleForTesting<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  void blockEvicted(BlockCacheKey cacheKey, BucketEntry bucketEntry, boolean decrementBlockNumber) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    bucketAllocator.freeBlock(bucketEntry.offset());<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    realCacheSize.add(-1 * bucketEntry.getLength());<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    blocksByHFile.remove(cacheKey);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    if (decrementBlockNumber) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.blockNumber.decrement();<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>  }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>  @Override<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  public boolean evictBlock(BlockCacheKey cacheKey) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    return evictBlock(cacheKey, true);<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>  // does not check for the ref count. Just tries to evict it if found in the<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  // bucket map<a name="line.558"></a>
-<span class="sourceLineNo">559</span>  private boolean forceEvict(BlockCacheKey cacheKey) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    if (!cacheEnabled) {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      return false;<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    }<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    RAMQueueEntry removedBlock = checkRamCache(cacheKey);<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    BucketEntry bucketEntry = backingMap.get(cacheKey);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    if (bucketEntry == null) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      if (removedBlock != null) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>        cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.567"></a>
-<span class="sourceLineNo">568</span>        return true;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      } else {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>        return false;<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>    ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    try {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      lock.writeLock().lock();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (backingMap.remove(cacheKey, bucketEntry)) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        blockEvicted(cacheKey, bucketEntry, removedBlock == null);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      } else {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>        return false;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    } finally {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      lock.writeLock().unlock();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    cacheStats.evicted(bucketEntry.getCachedTime(), cacheKey.isPrimary());<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    return true;<a name="line.585"></a>
-<span class="sourceLineNo">586</span>  }<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>  private RAMQueueEntry checkRamCache(BlockCacheKey cacheKey) {<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    RAMQueueEntry removedBlock = ramCache.remove(cacheKey);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    if (removedBlock != null) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      this.blockNumber.decrement();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      this.heapSize.add(-1 * removedBlock.getData().heapSize());<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    }<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    return removedBlock;<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 boolean evictBlock(BlockCacheKey cacheKey, boolean deletedBlock) {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    if (!cacheEnabled) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      return false;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    }<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    RAMQueueEntry removedBlock = checkRamCache(cacheKey);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    BucketEntry bucketEntry = backingMap.get(cacheKey);<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    if (bucketEntry == null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      if (removedBlock != null) {<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        return true;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      } else {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>        return false;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      }<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    }<a name="line.610"></a>
-<span class="sourceLineNo">611</span>    ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    try {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      lock.writeLock().lock();<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      int refCount = bucketEntry.refCount.get();<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      if(refCount == 0) {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        if (backingMap.remove(cacheKey, bucketEntry)) {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>          blockEvicted(cacheKey, bucketEntry, removedBlock == null);<a name="line.617"></a>
-<span class="sourceLineNo">618</span>        } else {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>          return false;<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        }<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      } else {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>        if(!deletedBlock) {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>          if (LOG.isDebugEnabled()) {<a name="line.623"></a>
-<span class="sourceLineNo">624</span>            LOG.debug("This block " + cacheKey + " is still referred by " + refCount<a name="line.624"></a>
-<span class="sourceLineNo">625</span>                + " readers. Can not be freed now");<a name="line.625"></a>
-<span class="sourceLineNo">626</span>          }<a name="line.626"></a>
-<span class="sourceLineNo">627</span>          return false;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        } else {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>          if (LOG.isDebugEnabled()) {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>            LOG.debug("This block " + cacheKey + " is still referred by " + refCount<a name="line.630"></a>
-<span class="sourceLineNo">631</span>                + " readers. Can not be freed now. Hence will mark this"<a name="line.631"></a>
-<span class="sourceLineNo">632</span>                + " for evicting at a later point");<a name="line.632"></a>
-<span class="sourceLineNo">633</span>          }<a name="line.633"></a>
-<span class="sourceLineNo">634</span>          bucketEntry.markedForEvict = true;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        }<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      }<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    } finally {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      lock.writeLock().unlock();<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    }<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    cacheStats.evicted(bucketEntry.getCachedTime(), cacheKey.isPrimary());<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    return true;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>  }<a name="line.642"></a>
-<span class="sourceLineNo">643</span><a name="line.643"></a>
-<span class="sourceLineNo">644</span>  /*<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * Statistics thread.  Periodically output cache statistics to the log.<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  private static class StatisticsThread extends Thread {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    private final BucketCache bucketCache;<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span>    public StatisticsThread(BucketCache bucketCache) {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      super("BucketCacheStatsThread");<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      setDaemon(true);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      this.bucketCache = bucketCache;<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>    @Override<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    public void run() {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>      bucketCache.logStats();<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    }<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  }<a name="line.660"></a>
-<span class="sourceLineNo">661</span><a name="line.661"></a>
-<span class="sourceLineNo">662</span>  public void logStats() {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    long totalSize = bucketAllocator.getTotalSize();<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    long usedSize = bucketAllocator.getUsedSize();<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    long freeSize = totalSize - usedSize;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    long cacheSize = getRealCacheSize();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    LOG.info("failedBlockAdditions=" + cacheStats.getFailedInserts() + ", " +<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        "totalSize=" + StringUtils.byteDesc(totalSize) + ", " +<a name="line.668"></a>
-<span class="sourceLineNo">669</span>        "freeSize=" + StringUtils.byteDesc(freeSize) + ", " +<a name="line.669"></a>
-<span class="sourceLineNo">670</span>        "usedSize=" + StringUtils.byteDesc(usedSize) +", " +<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        "cacheSize=" + StringUtils.byteDesc(cacheSize) +", " +<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        "accesses=" + cacheStats.getRequestCount() + ", " +<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        "hits=" + cacheStats.getHitCount() + ", " +<a name="line.673"></a>
-<span class="sourceLineNo">674</span>        "IOhitsPerSecond=" + cacheStats.getIOHitsPerSecond() + ", " +<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        "IOTimePerHit=" + String.format("%.2f", cacheStats.getIOTimePerHit())+ ", " +<a name="line.675"></a>
-<span class="sourceLineNo">676</span>        "hitRatio=" + (cacheStats.getHitCount() == 0 ? "0," :<a name="line.676"></a>
-<span class="sourceLineNo">677</span>          (StringUtils.formatPercent(cacheStats.getHitRatio(), 2)+ ", ")) +<a name="line.677"></a>
-<span class="sourceLineNo">678</span>        "cachingAccesses=" + cacheStats.getRequestCachingCount() + ", " +<a name="line.678"></a>
-<span class="sourceLineNo">679</span>        "cachingHits=" + cacheStats.getHitCachingCount() + ", " +<a name="line.679"></a>
-<span class="sourceLineNo">680</span>        "cachingHitsRatio=" +(cacheStats.getHitCachingCount() == 0 ? "0," :<a name="line.680"></a>
-<span class="sourceLineNo">681</span>          (StringUtils.formatPercent(cacheStats.getHitCachingRatio(), 2)+ ", ")) +<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        "evictions=" + cacheStats.getEvictionCount() + ", " +<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        "evicted=" + cacheStats.getEvictedCount() + ", " +<a name="line.683"></a>
-<span class="sourceLineNo">684</span>        "evictedPerRun=" + cacheStats.evictedPerEviction());<a name="line.684"></a>
-<span class="sourceLineNo">685</span>    cacheStats.reset();<a name="line.685"></a>
-<span class="sourceLineNo">686</span>  }<a name="line.686"></a>
-<span class="sourceLineNo">687</span><a name="line.687"></a>
-<span class="sourceLineNo">688</span>  public long getRealCacheSize() {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    return this.realCacheSize.sum();<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>  private long acceptableSize() {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>    return (long) Math.floor(bucketAllocator.getTotalSize() * acceptableFactor);<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>  @VisibleForTesting<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  long getPartitionSize(float partitionFactor) {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return (long) Math.floor(bucketAllocator.getTotalSize() * partitionFactor * minFactor);<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>  /**<a name="line.701"></a>
-<span class="sourceLineNo">702</span>   * Return the count of bucketSizeinfos still need free space<a name="line.702"></a>
-<span class="sourceLineNo">703</span>   */<a name="line.703"></a>
-<span class="sourceLineNo">704</span>  private int bucketSizesAboveThresholdCount(float minFactor) {<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    int fullCount = 0;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    for (int i = 0; i &lt; stats.length; i++) {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      freeGoal = Math.max(freeGoal, 1);<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      if (stats[i].freeCount() &lt; freeGoal) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        fullCount++;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      }<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    }<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    return fullCount;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>  }<a name="line.715"></a>
-<span class="sourceLineNo">716</span><a name="line.716"></a>
-<span class="sourceLineNo">717</span>  /**<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * This method will find the buckets that are minimally occupied<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   * and are not reference counted and will free them completely<a name="line.719"></a>
-<span class="sourceLineNo">720</span>   * without any constraint on the access times of the elements,<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   * and as a process will completely free at most the number of buckets<a name="line.721"></a>
-<span class="sourceLineNo">722</span>   * passed, sometimes it might not due to changing refCounts<a name="line.722"></a>
-<span class="sourceLineNo">723</span>   *<a name="line.723"></a>
-<span class="sourceLineNo">724</span>   * @param completelyFreeBucketsNeeded number of buckets to free<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   **/<a name="line.725"></a>
-<span class="sourceLineNo">726</span>  private void freeEntireBuckets(int completelyFreeBucketsNeeded) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    if (completelyFreeBucketsNeeded != 0) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      // First we will build a set where the offsets are reference counted, usually<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      // this set is small around O(Handler Count) unless something else is wrong<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      Set&lt;Integer&gt; inUseBuckets = new HashSet&lt;Integer&gt;();<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      for (BucketEntry entry : backingMap.values()) {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>        if (entry.refCount.get() != 0) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>          inUseBuckets.add(bucketAllocator.getBucketIndex(entry.offset()));<a name="line.733"></a>
-<span class="sourceLineNo">734</span>        }<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>      Set&lt;Integer&gt; candidateBuckets = bucketAllocator.getLeastFilledBuckets(<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          inUseBuckets, completelyFreeBucketsNeeded);<a name="line.738"></a>
-<span class="sourceLineNo">739</span>      for (Map.Entry&lt;BlockCacheKey, BucketEntry&gt; entry : backingMap.entrySet()) {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>        if (candidateBuckets.contains(bucketAllocator<a name="line.740"></a>
-<span class="sourceLineNo">741</span>            .getBucketIndex(entry.getValue().offset()))) {<a name="line.741"></a>
-<span class="sourceLineNo">742</span>          evictBlock(entry.getKey(), false);<a name="line.742"></a>
-<span class="sourceLineNo">743</span>        }<a name="line.743"></a>
-<span class="sourceLineNo">744</span>      }<a name="line.744"></a>
-<span class="sourceLineNo">745</span>    }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>  }<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>   * Free the space if the used size reaches acceptableSize() or one size block<a name="line.749"></a>
-<span class="sourceLineNo">750</span>   * couldn't be allocated. When freeing the space, we use the LRU algorithm and<a name="line.750"></a>
-<span class="sourceLineNo">751</span>   * ensure there must be some blocks evicted<a name="line.751"></a>
-<span class="sourceLineNo">752</span>   * @param why Why we are being called<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   */<a name="line.753"></a>
-<span class="sourceLineNo">754</span>  private void freeSpace(final String why) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span>    // Ensure only one freeSpace progress at a time<a name="line.755"></a>
-<span class="sourceLineNo">756</span>    if (!freeSpaceLock.tryLock()) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    try {<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      freeInProgress = true;<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      long bytesToFreeWithoutExtra = 0;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // Calculate free byte for each bucketSizeinfo<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      StringBuilder msgBuffer = LOG.isDebugEnabled()? new StringBuilder(): null;<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      long[] bytesToFreeForBucket = new long[stats.length];<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      for (int i = 0; i &lt; stats.length; i++) {<a name="line.766"></a>
-<span class="sourceLineNo">767</span>        bytesToFreeForBucket[i] = 0;<a name="line.767"></a>
-<span class="sourceLineNo">768</span>        long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.768"></a>
-<span class="sourceLineNo">769</span>        freeGoal = Math.max(freeGoal, 1);<a name="line.769"></a>
-<span class="sourceLineNo">770</span>        if (stats[i].freeCount() &lt; freeGoal) {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>          bytesToFreeForBucket[i] = stats[i].itemSize() * (freeGoal - stats[i].freeCount());<a name="line.771"></a>
-<span class="sourceLineNo">772</span>          bytesToFreeWithoutExtra += bytesToFreeForBucket[i];<a name="line.772"></a>
-<span class="sourceLineNo">773</span>          if (msgBuffer != null) {<a name="line.773"></a>
-<span class="sourceLineNo">774</span>            msgBuffer.append("Free for bucketSize(" + stats[i].itemSize() + ")="<a name="line.774"></a>
-<span class="sourceLineNo">775</span>              + StringUtils.byteDesc(bytesToFreeForBucket[i]) + ", ");<a name="line.775"></a>
-<span class="sourceLineNo">776</span>          }<a name="line.776"></a>
-<span class="sourceLineNo">777</span>        }<a name="line.777"></a>
-<span class="sourceLineNo">778</span>      }<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      if (msgBuffer != null) {<a name="line.779"></a>
-<span class="sourceLineNo">780</span>        msgBuffer.append("Free for total=" + StringUtils.byteDesc(bytesToFreeWithoutExtra) + ", ");<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>      if (bytesToFreeWithoutExtra &lt;= 0) {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        return;<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      }<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      long currentSize = bucketAllocator.getUsedSize();<a name="line.786"></a>
-<span class="sourceLineNo">787</span>      long totalSize = bucketAllocator.getTotalSize();<a name="line.787"></a>
-<span class="sourceLineNo">788</span>      if (LOG.isDebugEnabled() &amp;&amp; msgBuffer != null) {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>        LOG.debug("Free started because \"" + why + "\"; " + msgBuffer.toString() +<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          " of current used=" + StringUtils.byteDesc(currentSize) + ", actual cacheSize=" +<a name="line.790"></a>
-<span class="sourceLineNo">791</span>          StringUtils.byteDesc(realCacheSize.sum()) + ", total=" + StringUtils.byteDesc(totalSize));<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>      long bytesToFreeWithExtra = (long) Math.floor(bytesToFreeWithoutExtra<a name="line.794"></a>
-<span class="sourceLineNo">795</span>          * (1 + extraFreeFactor));<a name="line.795"></a>
-<span class="sourceLineNo">796</span><a name="line.796"></a>
-<span class="sourceLineNo">797</span>      // Instantiate priority buckets<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      BucketEntryGroup bucketSingle = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.798"></a>
-<span class="sourceLineNo">799</span>          blockSize, getPartitionSize(singleFactor));<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      BucketEntryGroup bucketMulti = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          blockSize, getPartitionSize(multiFactor));<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      BucketEntryGroup bucketMemory = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.802"></a>
-<span class="sourceLineNo">803</span>          blockSize, getPartitionSize(memoryFactor));<a name="line.803"></a>
-<span class="sourceLineNo">804</span><a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Scan entire map putting bucket entry into appropriate bucket entry<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // group<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      for (Map.Entry&lt;BlockCacheKey, BucketEntry&gt; bucketEntryWithKey : backingMap.entrySet()) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>        switch (bucketEntryWithKey.getValue().getPriority()) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>          case SINGLE: {<a name="line.809"></a>
-<span class="sourceLineNo">810</span>            bucketSingle.add(bucketEntryWithKey);<a name="line.810"></a>
-<span class="sourceLineNo">811</span>            break;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>          }<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          case MULTI: {<a name="line.813"></a>
-<span class="sourceLineNo">814</span>            bucketMulti.add(bucketEntryWithKey);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>            break;<a name="line.815"></a>
-<span class="sourceLineNo">816</span>          }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>          case MEMORY: {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>            bucketMemory.add(bucketEntryWithKey);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>            break;<a name="line.819"></a>
-<span class="sourceLineNo">820</span>          }<a name="line.820"></a>
-<span class="sourceLineNo">821</span>        }<a name="line.821"></a>
-<span class="sourceLineNo">822</span>      }<a name="line.822"></a>
-<span class="sourceLineNo">823</span><a name="line.823"></a>
-<span class="sourceLineNo">824</span>      PriorityQueue&lt;BucketEntryGroup&gt; bucketQueue = new PriorityQueue&lt;&gt;(3);<a name="line.824"></a>
+<span class="sourceLineNo">039</span>import java.util.PriorityQueue;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.Set;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.concurrent.ArrayBlockingQueue;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.concurrent.BlockingQueue;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentMap;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.ConcurrentSkipListSet;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.Executors;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.TimeUnit;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.atomic.LongAdder;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.locks.Lock;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.conf.Configuration;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.io.hfile.BlockPriority;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.io.hfile.BlockType;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.hfile.CacheStats;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.hfile.Cacheable;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.hfile.Cacheable.MemoryType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializer;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializerIdManager;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CachedBlock;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFileBlock;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.IdReadWriteLock;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.IdReadWriteLock.ReferenceType;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.util.StringUtils;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.slf4j.Logger;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.slf4j.LoggerFactory;<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;<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> * BucketCache uses {@link BucketAllocator} to allocate/free blocks, and uses<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * BucketCache#ramCache and BucketCache#backingMap in order to<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * determine if a given element is in the cache. The bucket cache can use on-heap or<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * off-heap memory {@link ByteBufferIOEngine} or in a file {@link FileIOEngine} to<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * store/read the block data.<a name="line.89"></a>
+<span class="sourceLineNo">090</span> *<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * &lt;p&gt;Eviction is via a similar algorithm as used in<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache}<a name="line.92"></a>
+<span class="sourceLineNo">093</span> *<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;p&gt;BucketCache can be used as mainly a block cache (see<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * {@link org.apache.hadoop.hbase.io.hfile.CombinedBlockCache}), combined with<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * LruBlockCache to decrease CMS GC and heap fragmentation.<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;p&gt;It also can be used as a secondary cache (e.g. using a file on ssd/fusionio to store<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * blocks) to enlarge cache space via<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache#setVictimCache}<a name="line.100"></a>
+<span class="sourceLineNo">101</span> */<a name="line.101"></a>
+<span class="sourceLineNo">102</span>@InterfaceAudience.Private<a name="line.102"></a>
+<span class="sourceLineNo">103</span>public class BucketCache implements BlockCache, HeapSize {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  private static final Logger LOG = LoggerFactory.getLogger(BucketCache.class);<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /** Priority buckets config */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  static final String SINGLE_FACTOR_CONFIG_NAME = "hbase.bucketcache.single.factor";<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  static final String MULTI_FACTOR_CONFIG_NAME = "hbase.bucketcache.multi.factor";<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  static final String MEMORY_FACTOR_CONFIG_NAME = "hbase.bucketcache.memory.factor";<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  static final String EXTRA_FREE_FACTOR_CONFIG_NAME = "hbase.bucketcache.extrafreefactor";<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  static final String ACCEPT_FACTOR_CONFIG_NAME = "hbase.bucketcache.acceptfactor";<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  static final String MIN_FACTOR_CONFIG_NAME = "hbase.bucketcache.minfactor";<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  /** Priority buckets */<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  @VisibleForTesting<a name="line.115"></a>
+<span class="

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html
index 04bf42c..70c0a84 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.html
@@ -271,527 +271,533 @@
 <span class="sourceLineNo">263</span>    return Flow.HAS_MORE_STATE;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>  }<a name="line.264"></a>
 <span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  @Override<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  protected void rollbackState(<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      final MasterProcedureEnv env,<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      final MergeTableRegionsState state) throws IOException, InterruptedException {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    if (isTraceEnabled()) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      LOG.trace(this + " rollback state=" + state);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    try {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      switch (state) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      case MERGE_TABLE_REGIONS_POST_OPERATION:<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      case MERGE_TABLE_REGIONS_OPEN_MERGED_REGION:<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      case MERGE_TABLE_REGIONS_POST_MERGE_COMMIT_OPERATION:<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      case MERGE_TABLE_REGIONS_UPDATE_META:<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        String msg = this + " We are in the " + state + " state."<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            + " It is complicated to rollback the merge operation that region server is working on."<a name="line.281"></a>
-<span class="sourceLineNo">282</span>            + " Rollback is not supported and we should let the merge operation to complete";<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        LOG.warn(msg);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        // PONR<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      case MERGE_TABLE_REGIONS_PRE_MERGE_COMMIT_OPERATION:<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        break;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      case MERGE_TABLE_REGIONS_CREATE_MERGED_REGION:<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        cleanupMergedRegion(env);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        break;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      case MERGE_TABLE_REGIONS_CLOSE_REGIONS:<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        rollbackCloseRegionsForMerge(env);<a name="line.292"></a>
+<span class="sourceLineNo">266</span>  /**<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   * To rollback {@link MergeTableRegionsProcedure}, two AssignProcedures are asynchronously<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * submitted for each region to be merged (rollback doesn't wait on the completion of the<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   * AssignProcedures) . This can be improved by changing rollback() to support sub-procedures.<a name="line.269"></a>
+<span class="sourceLineNo">270</span>   * See HBASE-19851 for details.<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  @Override<a name="line.272"></a>
+<span class="sourceLineNo">273</span>  protected void rollbackState(<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      final MasterProcedureEnv env,<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      final MergeTableRegionsState state) throws IOException, InterruptedException {<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    if (isTraceEnabled()) {<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      LOG.trace(this + " rollback state=" + state);<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>    try {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      switch (state) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      case MERGE_TABLE_REGIONS_POST_OPERATION:<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      case MERGE_TABLE_REGIONS_OPEN_MERGED_REGION:<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      case MERGE_TABLE_REGIONS_POST_MERGE_COMMIT_OPERATION:<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      case MERGE_TABLE_REGIONS_UPDATE_META:<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        String msg = this + " We are in the " + state + " state."<a name="line.286"></a>
+<span class="sourceLineNo">287</span>            + " It is complicated to rollback the merge operation that region server is working on."<a name="line.287"></a>
+<span class="sourceLineNo">288</span>            + " Rollback is not supported and we should let the merge operation to complete";<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        LOG.warn(msg);<a name="line.289"></a>
+<span class="sourceLineNo">290</span>        // PONR<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      case MERGE_TABLE_REGIONS_PRE_MERGE_COMMIT_OPERATION:<a name="line.292"></a>
 <span class="sourceLineNo">293</span>        break;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      case MERGE_TABLE_REGIONS_PRE_MERGE_OPERATION:<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        postRollBackMergeRegions(env);<a name="line.295"></a>
+<span class="sourceLineNo">294</span>      case MERGE_TABLE_REGIONS_CREATE_MERGED_REGION:<a name="line.294"></a>
+<span class="sourceLineNo">295</span>        cleanupMergedRegion(env);<a name="line.295"></a>
 <span class="sourceLineNo">296</span>        break;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      case MERGE_TABLE_REGIONS_PREPARE:<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        break;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      default:<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      }<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    } catch (Exception e) {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      // This will be retried. Unless there is a bug in the code,<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      // this should be just a "temporary error" (e.g. network down)<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      LOG.warn("Failed rollback attempt step " + state + " for merging the regions "<a name="line.305"></a>
-<span class="sourceLineNo">306</span>          + RegionInfo.getShortNameToLog(regionsToMerge) + " in table " + getTableName(), e);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      throw e;<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    }<a name="line.308"></a>
-<span class="sourceLineNo">309</span>  }<a name="line.309"></a>
-<span class="sourceLineNo">310</span><a name="line.310"></a>
-<span class="sourceLineNo">311</span>  /*<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * Check whether we are in the state that can be rollback<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   */<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  @Override<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  protected boolean isRollbackSupported(final MergeTableRegionsState state) {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    switch (state) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    case MERGE_TABLE_REGIONS_POST_OPERATION:<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    case MERGE_TABLE_REGIONS_OPEN_MERGED_REGION:<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    case MERGE_TABLE_REGIONS_POST_MERGE_COMMIT_OPERATION:<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    case MERGE_TABLE_REGIONS_UPDATE_META:<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        // It is not safe to rollback if we reach to these states.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        return false;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      default:<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        break;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    }<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    return true;<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>  @Override<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  protected MergeTableRegionsState getState(final int stateId) {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    return MergeTableRegionsState.forNumber(stateId);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  @Override<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  protected int getStateId(final MergeTableRegionsState state) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    return state.getNumber();<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>  @Override<a name="line.339"></a>
-<span class="sourceLineNo">340</span>  protected MergeTableRegionsState getInitialState() {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    return MergeTableRegionsState.MERGE_TABLE_REGIONS_PREPARE;<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>  @Override<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  protected void serializeStateData(ProcedureStateSerializer serializer)<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      throws IOException {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    super.serializeStateData(serializer);<a name="line.347"></a>
-<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>    final MasterProcedureProtos.MergeTableRegionsStateData.Builder mergeTableRegionsMsg =<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        MasterProcedureProtos.MergeTableRegionsStateData.newBuilder()<a name="line.350"></a>
-<span class="sourceLineNo">351</span>        .setUserInfo(MasterProcedureUtil.toProtoUserInfo(getUser()))<a name="line.351"></a>
-<span class="sourceLineNo">352</span>        .setMergedRegionInfo(ProtobufUtil.toRegionInfo(mergedRegion))<a name="line.352"></a>
-<span class="sourceLineNo">353</span>        .setForcible(forcible);<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    for (int i = 0; i &lt; regionsToMerge.length; ++i) {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      mergeTableRegionsMsg.addRegionInfo(ProtobufUtil.toRegionInfo(regionsToMerge[i]));<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    }<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    serializer.serialize(mergeTableRegionsMsg.build());<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>  @Override<a name="line.360"></a>
-<span class="sourceLineNo">361</span>  protected void deserializeStateData(ProcedureStateSerializer serializer)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      throws IOException {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    super.deserializeStateData(serializer);<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    final MasterProcedureProtos.MergeTableRegionsStateData mergeTableRegionsMsg =<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        serializer.deserialize(MasterProcedureProtos.MergeTableRegionsStateData.class);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    setUser(MasterProcedureUtil.toUserInfo(mergeTableRegionsMsg.getUserInfo()));<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>    assert(mergeTableRegionsMsg.getRegionInfoCount() == 2);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    regionsToMerge = new RegionInfo[mergeTableRegionsMsg.getRegionInfoCount()];<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    for (int i = 0; i &lt; regionsToMerge.length; i++) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      regionsToMerge[i] = ProtobufUtil.toRegionInfo(mergeTableRegionsMsg.getRegionInfo(i));<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    }<a name="line.373"></a>
+<span class="sourceLineNo">297</span>      case MERGE_TABLE_REGIONS_CLOSE_REGIONS:<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        rollbackCloseRegionsForMerge(env);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        break;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      case MERGE_TABLE_REGIONS_PRE_MERGE_OPERATION:<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        postRollBackMergeRegions(env);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>        break;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      case MERGE_TABLE_REGIONS_PREPARE:<a name="line.303"></a>
+<span class="sourceLineNo">304</span>        break;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      default:<a name="line.305"></a>
+<span class="sourceLineNo">306</span>        throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      }<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    } catch (Exception e) {<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      // This will be retried. Unless there is a bug in the code,<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      // this should be just a "temporary error" (e.g. network down)<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      LOG.warn("Failed rollback attempt step " + state + " for merging the regions "<a name="line.311"></a>
+<span class="sourceLineNo">312</span>          + RegionInfo.getShortNameToLog(regionsToMerge) + " in table " + getTableName(), e);<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      throw e;<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>  /*<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * Check whether we are in the state that can be rollback<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  @Override<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  protected boolean isRollbackSupported(final MergeTableRegionsState state) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    switch (state) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    case MERGE_TABLE_REGIONS_POST_OPERATION:<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    case MERGE_TABLE_REGIONS_OPEN_MERGED_REGION:<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    case MERGE_TABLE_REGIONS_POST_MERGE_COMMIT_OPERATION:<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    case MERGE_TABLE_REGIONS_UPDATE_META:<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        // It is not safe to rollback if we reach to these states.<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        return false;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      default:<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        break;<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    }<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    return true;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  protected MergeTableRegionsState getState(final int stateId) {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    return MergeTableRegionsState.forNumber(stateId);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>  @Override<a name="line.340"></a>
+<span class="sourceLineNo">341</span>  protected int getStateId(final MergeTableRegionsState state) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    return state.getNumber();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
+<span class="sourceLineNo">344</span><a name="line.344"></a>
+<span class="sourceLineNo">345</span>  @Override<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  protected MergeTableRegionsState getInitialState() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    return MergeTableRegionsState.MERGE_TABLE_REGIONS_PREPARE;<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>  @Override<a name="line.350"></a>
+<span class="sourceLineNo">351</span>  protected void serializeStateData(ProcedureStateSerializer serializer)<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      throws IOException {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    super.serializeStateData(serializer);<a name="line.353"></a>
+<span class="sourceLineNo">354</span><a name="line.354"></a>
+<span class="sourceLineNo">355</span>    final MasterProcedureProtos.MergeTableRegionsStateData.Builder mergeTableRegionsMsg =<a name="line.355"></a>
+<span class="sourceLineNo">356</span>        MasterProcedureProtos.MergeTableRegionsStateData.newBuilder()<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        .setUserInfo(MasterProcedureUtil.toProtoUserInfo(getUser()))<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        .setMergedRegionInfo(ProtobufUtil.toRegionInfo(mergedRegion))<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        .setForcible(forcible);<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    for (int i = 0; i &lt; regionsToMerge.length; ++i) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      mergeTableRegionsMsg.addRegionInfo(ProtobufUtil.toRegionInfo(regionsToMerge[i]));<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    }<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    serializer.serialize(mergeTableRegionsMsg.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>  @Override<a name="line.366"></a>
+<span class="sourceLineNo">367</span>  protected void deserializeStateData(ProcedureStateSerializer serializer)<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      throws IOException {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    super.deserializeStateData(serializer);<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    final MasterProcedureProtos.MergeTableRegionsStateData mergeTableRegionsMsg =<a name="line.371"></a>
+<span class="sourceLineNo">372</span>        serializer.deserialize(MasterProcedureProtos.MergeTableRegionsStateData.class);<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    setUser(MasterProcedureUtil.toUserInfo(mergeTableRegionsMsg.getUserInfo()));<a name="line.373"></a>
 <span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>    mergedRegion = ProtobufUtil.toRegionInfo(mergeTableRegionsMsg.getMergedRegionInfo());<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>  @Override<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    sb.append(getClass().getSimpleName());<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    sb.append(" table=");<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    sb.append(getTableName());<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    sb.append(", regions=");<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    sb.append(RegionInfo.getShortNameToLog(regionsToMerge));<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    sb.append(", forcibly=");<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    sb.append(forcible);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>  @Override<a name="line.389"></a>
-<span class="sourceLineNo">390</span>  protected LockState acquireLock(final MasterProcedureEnv env) {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    if (env.waitInitialized(this)) return LockState.LOCK_EVENT_WAIT;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    if (env.getProcedureScheduler().waitRegions(this, getTableName(),<a name="line.392"></a>
-<span class="sourceLineNo">393</span>        mergedRegion, regionsToMerge[0], regionsToMerge[1])) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      try {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>        LOG.debug(LockState.LOCK_EVENT_WAIT + " " + env.getProcedureScheduler().dumpLocks());<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      } catch (IOException e) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>        // TODO Auto-generated catch block<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        e.printStackTrace();<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      }<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      return LockState.LOCK_EVENT_WAIT;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    }<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    this.lock = true;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    return LockState.LOCK_ACQUIRED;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>  }<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>  @Override<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    this.lock = false;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    env.getProcedureScheduler().wakeRegions(this, getTableName(),<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      mergedRegion, regionsToMerge[0], regionsToMerge[1]);<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>  @Override<a name="line.413"></a>
-<span class="sourceLineNo">414</span>  protected boolean holdLock(MasterProcedureEnv env) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    return true;<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>  @Override<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  protected boolean hasLock(MasterProcedureEnv env) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return this.lock;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  @Override<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  public TableName getTableName() {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    return mergedRegion.getTable();<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>  @Override<a name="line.428"></a>
-<span class="sourceLineNo">429</span>  public TableOperationType getTableOperationType() {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    return TableOperationType.REGION_MERGE;<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>  @Override<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  protected ProcedureMetrics getProcedureMetrics(MasterProcedureEnv env) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    return env.getAssignmentManager().getAssignmentManagerMetrics().getMergeProcMetrics();<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>   * Prepare merge and do some check<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @param env MasterProcedureEnv<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * @throws IOException<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  private boolean prepareMergeRegion(final MasterProcedureEnv env) throws IOException {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    // Note: the following logic assumes that we only have 2 regions to merge.  In the future,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    // if we want to extend to more than 2 regions, the code needs to modify a little bit.<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    //<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    CatalogJanitor catalogJanitor = env.getMasterServices().getCatalogJanitor();<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    boolean regionAHasMergeQualifier = !catalogJanitor.cleanMergeQualifier(regionsToMerge[0]);<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    if (regionAHasMergeQualifier<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        || !catalogJanitor.cleanMergeQualifier(regionsToMerge[1])) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      String msg = "Skip merging regions " + RegionInfo.getShortNameToLog(regionsToMerge) +<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        ", because region "<a name="line.452"></a>
-<span class="sourceLineNo">453</span>        + (regionAHasMergeQualifier ? regionsToMerge[0].getEncodedName() : regionsToMerge[1]<a name="line.453"></a>
-<span class="sourceLineNo">454</span>              .getEncodedName()) + " has merge qualifier";<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      LOG.warn(msg);<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      throw new MergeRegionException(msg);<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>    RegionStates regionStates = env.getAssignmentManager().getRegionStates();<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    RegionState regionStateA = regionStates.getRegionState(regionsToMerge[0].getEncodedName());<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    RegionState regionStateB = regionStates.getRegionState(regionsToMerge[1].getEncodedName());<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    if (regionStateA == null || regionStateB == null) {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      throw new UnknownRegionException(<a name="line.463"></a>
-<span class="sourceLineNo">464</span>        regionStateA == null ?<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            regionsToMerge[0].getEncodedName() : regionsToMerge[1].getEncodedName());<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>    if (!regionStateA.isOpened() || !regionStateB.isOpened()) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      throw new MergeRegionException(<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        "Unable to merge regions not online " + regionStateA + ", " + regionStateB);<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    }<a name="line.471"></a>
-<span class="sourceLineNo">472</span><a name="line.472"></a>
-<span class="sourceLineNo">473</span>    if (!env.getMasterServices().isSplitOrMergeEnabled(MasterSwitchType.MERGE)) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      String regionsStr = Arrays.deepToString(regionsToMerge);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      LOG.warn("merge switch is off! skip merge of " + regionsStr);<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      super.setFailure(getClass().getSimpleName(),<a name="line.476"></a>
-<span class="sourceLineNo">477</span>          new IOException("Merge of " + regionsStr + " failed because merge switch is off"));<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      return false;<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    }<a name="line.479"></a>
-<span class="sourceLineNo">480</span><a name="line.480"></a>
-<span class="sourceLineNo">481</span><a name="line.481"></a>
-<span class="sourceLineNo">482</span>    // Ask the remote regionserver if regions are mergeable. If we get an IOE, report it<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    // along w/ the failure so can see why we are not mergeable at this time.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>    IOException mergeableCheckIOE = null;<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    boolean mergeable = false;<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    RegionState current = regionStateA;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    try {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      mergeable = isMergeable(env, current);<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    } catch (IOException e) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>      mergeableCheckIOE = e;<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    }<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    if (mergeable &amp;&amp; mergeableCheckIOE == null) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      current = regionStateB;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      try {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>        mergeable = isMergeable(env, current);<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      } catch (IOException e) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        mergeableCheckIOE = e;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      }<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    }<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    if (!mergeable) {<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      IOException e = new IOException(current.getRegion().getShortNameToLog() + " NOT mergeable");<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      if (mergeableCheckIOE != null) e.initCause(mergeableCheckIOE);<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      super.setFailure(getClass().getSimpleName(), e);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>      return false;<a name="line.504"></a>
+<span class="sourceLineNo">375</span>    assert(mergeTableRegionsMsg.getRegionInfoCount() == 2);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    regionsToMerge = new RegionInfo[mergeTableRegionsMsg.getRegionInfoCount()];<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    for (int i = 0; i &lt; regionsToMerge.length; i++) {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>      regionsToMerge[i] = ProtobufUtil.toRegionInfo(mergeTableRegionsMsg.getRegionInfo(i));<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    }<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span>    mergedRegion = ProtobufUtil.toRegionInfo(mergeTableRegionsMsg.getMergedRegionInfo());<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>  @Override<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  public void toStringClassDetails(StringBuilder sb) {<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    sb.append(getClass().getSimpleName());<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    sb.append(" table=");<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    sb.append(getTableName());<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    sb.append(", regions=");<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    sb.append(RegionInfo.getShortNameToLog(regionsToMerge));<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    sb.append(", forcibly=");<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    sb.append(forcible);<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>  @Override<a name="line.395"></a>
+<span class="sourceLineNo">396</span>  protected LockState acquireLock(final MasterProcedureEnv env) {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    if (env.waitInitialized(this)) return LockState.LOCK_EVENT_WAIT;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    if (env.getProcedureScheduler().waitRegions(this, getTableName(),<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        mergedRegion, regionsToMerge[0], regionsToMerge[1])) {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>      try {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        LOG.debug(LockState.LOCK_EVENT_WAIT + " " + env.getProcedureScheduler().dumpLocks());<a name="line.401"></a>
+<span class="sourceLineNo">402</span>      } catch (IOException e) {<a name="line.402"></a>
+<span class="sourceLineNo">403</span>        // TODO Auto-generated catch block<a name="line.403"></a>
+<span class="sourceLineNo">404</span>        e.printStackTrace();<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      }<a name="line.405"></a>
+<span class="sourceLineNo">406</span>      return LockState.LOCK_EVENT_WAIT;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    }<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    this.lock = true;<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    return LockState.LOCK_ACQUIRED;<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>  @Override<a name="line.412"></a>
+<span class="sourceLineNo">413</span>  protected void releaseLock(final MasterProcedureEnv env) {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    this.lock = false;<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    env.getProcedureScheduler().wakeRegions(this, getTableName(),<a name="line.415"></a>
+<span class="sourceLineNo">416</span>      mergedRegion, regionsToMerge[0], regionsToMerge[1]);<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>  @Override<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  protected boolean holdLock(MasterProcedureEnv env) {<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    return true;<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>  @Override<a name="line.424"></a>
+<span class="sourceLineNo">425</span>  protected boolean hasLock(MasterProcedureEnv env) {<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    return this.lock;<a name="line.426"></a>
+<span class="sourceLineNo">427</span>  }<a name="line.427"></a>
+<span class="sourceLineNo">428</span><a name="line.428"></a>
+<span class="sourceLineNo">429</span>  @Override<a name="line.429"></a>
+<span class="sourceLineNo">430</span>  public TableName getTableName() {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    return mergedRegion.getTable();<a name="line.431"></a>
+<span class="sourceLineNo">432</span>  }<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>  @Override<a name="line.434"></a>
+<span class="sourceLineNo">435</span>  public TableOperationType getTableOperationType() {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    return TableOperationType.REGION_MERGE;<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>  @Override<a name="line.439"></a>
+<span class="sourceLineNo">440</span>  protected ProcedureMetrics getProcedureMetrics(MasterProcedureEnv env) {<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    return env.getAssignmentManager().getAssignmentManagerMetrics().getMergeProcMetrics();<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>  /**<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * Prepare merge and do some check<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   * @param env MasterProcedureEnv<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   * @throws IOException<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   */<a name="line.448"></a>
+<span class="sourceLineNo">449</span>  private boolean prepareMergeRegion(final MasterProcedureEnv env) throws IOException {<a name="line.449"></a>
+<span class="sourceLineNo">450</span>    // Note: the following logic assumes that we only have 2 regions to merge.  In the future,<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    // if we want to extend to more than 2 regions, the code needs to modify a little bit.<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    //<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    CatalogJanitor catalogJanitor = env.getMasterServices().getCatalogJanitor();<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    boolean regionAHasMergeQualifier = !catalogJanitor.cleanMergeQualifier(regionsToMerge[0]);<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    if (regionAHasMergeQualifier<a name="line.455"></a>
+<span class="sourceLineNo">456</span>        || !catalogJanitor.cleanMergeQualifier(regionsToMerge[1])) {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>      String msg = "Skip merging regions " + RegionInfo.getShortNameToLog(regionsToMerge) +<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        ", because region "<a name="line.458"></a>
+<span class="sourceLineNo">459</span>        + (regionAHasMergeQualifier ? regionsToMerge[0].getEncodedName() : regionsToMerge[1]<a name="line.459"></a>
+<span class="sourceLineNo">460</span>              .getEncodedName()) + " has merge qualifier";<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      LOG.warn(msg);<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      throw new MergeRegionException(msg);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>    RegionStates regionStates = env.getAssignmentManager().getRegionStates();<a name="line.465"></a>
+<span class="sourceLineNo">466</span>    RegionState regionStateA = regionStates.getRegionState(regionsToMerge[0].getEncodedName());<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    RegionState regionStateB = regionStates.getRegionState(regionsToMerge[1].getEncodedName());<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    if (regionStateA == null || regionStateB == null) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      throw new UnknownRegionException(<a name="line.469"></a>
+<span class="sourceLineNo">470</span>        regionStateA == null ?<a name="line.470"></a>
+<span class="sourceLineNo">471</span>            regionsToMerge[0].getEncodedName() : regionsToMerge[1].getEncodedName());<a name="line.471"></a>
+<span class="sourceLineNo">472</span>    }<a name="line.472"></a>
+<span class="sourceLineNo">473</span><a name="line.473"></a>
+<span class="sourceLineNo">474</span>    if (!regionStateA.isOpened() || !regionStateB.isOpened()) {<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      throw new MergeRegionException(<a name="line.475"></a>
+<span class="sourceLineNo">476</span>        "Unable to merge regions not online " + regionStateA + ", " + regionStateB);<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    }<a name="line.477"></a>
+<span class="sourceLineNo">478</span><a name="line.478"></a>
+<span class="sourceLineNo">479</span>    if (!env.getMasterServices().isSplitOrMergeEnabled(MasterSwitchType.MERGE)) {<a name="line.479"></a>
+<span class="sourceLineNo">480</span>      String regionsStr = Arrays.deepToString(regionsToMerge);<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      LOG.warn("merge switch is off! skip merge of " + regionsStr);<a name="line.481"></a>
+<span class="sourceLineNo">482</span>      super.setFailure(getClass().getSimpleName(),<a name="line.482"></a>
+<span class="sourceLineNo">483</span>          new IOException("Merge of " + regionsStr + " failed because merge switch is off"));<a name="line.483"></a>
+<span class="sourceLineNo">484</span>      return false;<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    }<a name="line.485"></a>
+<span class="sourceLineNo">486</span><a name="line.486"></a>
+<span class="sourceLineNo">487</span><a name="line.487"></a>
+<span class="sourceLineNo">488</span>    // Ask the remote regionserver if regions are mergeable. If we get an IOE, report it<a name="line.488"></a>
+<span class="sourceLineNo">489</span>    // along w/ the failure so can see why we are not mergeable at this time.<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    IOException mergeableCheckIOE = null;<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    boolean mergeable = false;<a name="line.491"></a>
+<span class="sourceLineNo">492</span>    RegionState current = regionStateA;<a name="line.492"></a>
+<span class="sourceLineNo">493</span>    try {<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      mergeable = isMergeable(env, current);<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    } catch (IOException e) {<a name="line.495"></a>
+<span class="sourceLineNo">496</span>      mergeableCheckIOE = e;<a name="line.496"></a>
+<span class="sourceLineNo">497</span>    }<a name="line.497"></a>
+<span class="sourceLineNo">498</span>    if (mergeable &amp;&amp; mergeableCheckIOE == null) {<a name="line.498"></a>
+<span class="sourceLineNo">499</span>      current = regionStateB;<a name="line.499"></a>
+<span class="sourceLineNo">500</span>      try {<a name="line.500"></a>
+<span class="sourceLineNo">501</span>        mergeable = isMergeable(env, current);<a name="line.501"></a>
+<span class="sourceLineNo">502</span>      } catch (IOException e) {<a name="line.502"></a>
+<span class="sourceLineNo">503</span>        mergeableCheckIOE = e;<a name="line.503"></a>
+<span class="sourceLineNo">504</span>      }<a name="line.504"></a>
 <span class="sourceLineNo">505</span>    }<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>    // Update region states to Merging<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    setRegionStateToMerging(env);<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    return true;<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>  private boolean isMergeable(final MasterProcedureEnv env, final RegionState rs)<a name="line.512"></a>
-<span class="sourceLineNo">513</span>  throws IOException {<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    GetRegionInfoResponse response =<a name="line.514"></a>
-<span class="sourceLineNo">515</span>      Util.getRegionInfoResponse(env, rs.getServerName(), rs.getRegion());<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    return response.hasMergeable() &amp;&amp; response.getMergeable();<a name="line.516"></a>
-<span class="sourceLineNo">517</span>  }<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>  /**<a name="line.519"></a>
-<span class="sourceLineNo">520</span>   * Pre merge region action<a name="line.520"></a>
-<span class="sourceLineNo">521</span>   * @param env MasterProcedureEnv<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   **/<a name="line.522"></a>
-<span class="sourceLineNo">523</span>  private void preMergeRegions(final MasterProcedureEnv env) throws IOException {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    if (cpHost != null) {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      cpHost.preMergeRegionsAction(regionsToMerge, getUser());<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    }<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    // TODO: Clean up split and merge. Currently all over the place.<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    try {<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      env.getMasterServices().getMasterQuotaManager().onRegionMerged(this.mergedRegion);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    } catch (QuotaExceededException e) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      env.getAssignmentManager().getRegionNormalizer().planSkipped(this.mergedRegion,<a name="line.532"></a>
-<span class="sourceLineNo">533</span>          NormalizationPlan.PlanType.MERGE);<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      throw e;<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    }<a name="line.535"></a>
-<span class="sourceLineNo">536</span>  }<a name="line.536"></a>
-<span class="sourceLineNo">537</span><a name="line.537"></a>
-<span class="sourceLineNo">538</span>  /**<a name="line.538"></a>
-<span class="sourceLineNo">539</span>   * Action after rollback a merge table regions action.<a name="line.539"></a>
-<span class="sourceLineNo">540</span>   * @param env MasterProcedureEnv<a name="line.540"></a>
-<span class="sourceLineNo">541</span>   * @throws IOException<a name="line.541"></a>
-<span class="sourceLineNo">542</span>   */<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  private void postRollBackMergeRegions(final MasterProcedureEnv env) throws IOException {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    if (cpHost != null) {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      cpHost.postRollBackMergeRegionsAction(regionsToMerge, getUser());<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><a name="line.549"></a>
-<span class="sourceLineNo">550</span>  /**<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * Set the region states to MERGING state<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   * @param env MasterProcedureEnv<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @throws IOException<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   */<a name="line.554"></a>
-<span class="sourceLineNo">555</span>  public void setRegionStateToMerging(final MasterProcedureEnv env) throws IOException {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    // Set State.MERGING to regions to be merged<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    RegionStates regionStates = env.getAssignmentManager().getRegionStates();<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    regionStates.getRegionStateNode(regionsToMerge[0]).setState(State.MERGING);<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    regionStates.getRegionStateNode(regionsToMerge[1]).setState(State.MERGING);<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>  /**<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * Rollback the region state change<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * Not used for now, since rollbackCloseRegionsForMerge() will mark regions as OPEN<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * @param env MasterProcedureEnv<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @throws IOException<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   */<a name="line.567"></a>
-<span class="sourceLineNo">568</span>  private void setRegionStateBackToOpen(final MasterProcedureEnv env) throws IOException {<a name="line.568"></a>
-<span class="sourceLineNo">569</span>    // revert region state to Open<a name="line.569"></a>
-<span class="sourceLineNo">570</span>    RegionStates regionStates = env.getAssignmentManager().getRegionStates();<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    regionStates.getRegionStateNode(regionsToMerge[0]).setState(State.OPEN);<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    regionStates.getRegionStateNode(regionsToMerge[1]).setState(State.OPEN);<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>  /**<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   * Create merged region<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   * @param env MasterProcedureEnv<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>  private void createMergedRegion(final MasterProcedureEnv env) throws IOException {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    final MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    final Path tabledir = FSUtils.getTableDir(mfs.getRootDir(), regionsToMerge[0].getTable());<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    final FileSystem fs = mfs.getFileSystem();<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    HRegionFileSystem regionFs = HRegionFileSystem.openRegionFromFileSystem(<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      env.getMasterConfiguration(), fs, tabledir, regionsToMerge[0], false);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    regionFs.createMergesDir();<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>    mergeStoreFiles(env, regionFs, regionFs.getMergesDir());<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    HRegionFileSystem regionFs2 = HRegionFileSystem.openRegionFromFileSystem(<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      env.getMasterConfiguration(), fs, tabledir, regionsToMerge[1], false);<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    mergeStoreFiles(env, regionFs2, regionFs.getMergesDir());<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>    regionFs.commitMergedRegion(mergedRegion);<a name="line.593"></a>
-<span class="sourceLineNo">594</span><a name="line.594"></a>
-<span class="sourceLineNo">595</span>    //Prepare to create merged regions<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    env.getAssignmentManager().getRegionStates().<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        getOrCreateRegionStateNode(mergedRegion).setState(State.MERGING_NEW);<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>   * Create reference file(s) of merging regions under the merges directory<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   * @param env MasterProcedureEnv<a name="line.602"></a>
-<span class="sourceLineNo">603</span>   * @param regionFs region file system<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * @param mergedDir the temp directory of merged region<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   * @throws IOException<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   */<a name="line.606"></a>
-<span class="sourceLineNo">607</span>  private void mergeStoreFiles(<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      final MasterProcedureEnv env, final HRegionFileSystem regionFs, final Path mergedDir)<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      throws IOException {<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    final MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.610"></a>
-<span class="sourceLineNo">611</span>    final Configuration conf = env.getMasterConfiguration();<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    final TableDescriptor htd = env.getMasterServices().getTableDescriptors().get(getTableName());<a name="line.612"></a>
-<span class="sourceLineNo">613</span><a name="line.613"></a>
-<span class="sourceLineNo">614</span>    for (String family: regionFs.getFamilies()) {<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      final ColumnFamilyDescriptor hcd = htd.getColumnFamily(Bytes.toBytes(family));<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      final Collection&lt;StoreFileInfo&gt; storeFiles = regionFs.getStoreFiles(family);<a name="line.616"></a>
-<span class="sourceLineNo">617</span><a name="line.617"></a>
-<span class="sourceLineNo">618</span>      if (storeFiles != null &amp;&amp; storeFiles.size() &gt; 0) {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>        final CacheConfig cacheConf = new CacheConfig(conf, hcd);<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        for (StoreFileInfo storeFileInfo: storeFiles) {<a name="line.620"></a>
-<span class="sourceLineNo">621</span>          // Create reference file(s) of the region in mergedDir<a name="line.621"></a>
-<span class="sourceLineNo">622</span>          regionFs.mergeStoreFile(mergedRegion, family, new HStoreFile(mfs.getFileSystem(),<a name="line.622"></a>
-<span class="sourceLineNo">623</span>              storeFileInfo, conf, cacheConf, hcd.getBloomFilterType(), true),<a name="line.623"></a>
-<span class="sourceLineNo">624</span>            mergedDir);<a name="line.624"></a>
-<span class="sourceLineNo">625</span>        }<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      }<a name="line.626"></a>
-<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>  /**<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * Clean up merged region<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * @param env MasterProcedureEnv<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * @throws IOException<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   */<a name="line.634"></a>
-<span class="sourceLineNo">635</span>  private void cleanupMergedRegion(final MasterProcedureEnv env) throws IOException {<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    final MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    final Path tabledir = FSUtils.getTableDir(mfs.getRootDir(), regionsToMerge[0].getTable());<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    final FileSystem fs = mfs.getFileSystem();<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    HRegionFileSystem regionFs = HRegionFileSystem.openRegionFromFileSystem(<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      env.getMasterConfiguration(), fs, tabledir, regionsToMerge[0], false);<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    regionFs.cleanupMergedRegion(mergedRegion);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>  }<a name="line.642"></a>
-<span class="sourceLineNo">643</span><a name="line.643"></a>
-<span class="sourceLineNo">644</span>  /**<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * Rollback close regions<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   * @param env MasterProcedureEnv<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   **/<a name="line.647"></a>
-<span class="sourceLineNo">648</span>  private void rollbackCloseRegionsForMerge(final MasterProcedureEnv env) throws IOException {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    // Check whether the region is closed; if so, open it in the same server<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    final int regionReplication = getRegionReplication(env);<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    final ServerName serverName = getServerName(env);<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>    final AssignProcedure[] procs =<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        new AssignProcedure[regionsToMerge.length * regionReplication];<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    int procsIdx = 0;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    for (int i = 0; i &lt; regionsToMerge.length; ++i) {<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      for (int j = 0; j &lt; regionReplication; ++j) {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>        final RegionInfo hri = RegionReplicaUtil.getRegionInfoForReplica(regionsToMerge[i], j);<a name="line.658"></a>
-<span class="sourceLineNo">659</span>        procs[procsIdx++] = env.getAssignmentManager().createAssignProcedure(hri, serverName);<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>    env.getMasterServices().getMasterProcedureExecutor().submitProcedures(procs);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>  }<a name="line.663"></a>
-<span class="sourceLineNo">664</span><a name="line.664"></a>
-<span class="sourceLineNo">665</span>  private UnassignProcedure[] createUnassignProcedures(final MasterProcedureEnv env,<a name="line.665"></a>
-<span class="sourceLineNo">666</span>      final int regionReplication) {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    final UnassignProcedure[] procs =<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        new UnassignProcedure[regionsToMerge.length * regionReplication];<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int procsIdx = 0;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    for (int i = 0; i &lt; regionsToMerge.length; ++i) {<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      for (int j = 0; j &lt; regionReplication; ++j) {<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        final RegionInfo hri = RegionReplicaUtil.getRegionInfoForReplica(regionsToMerge[i], j);<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        procs[procsIdx++] = env.getAssignmentManager().createUnassignProcedure(hri,null,true);<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      }<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    }<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    return procs;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>  }<a name="line.677"></a>
-<span class="sourceLineNo">678</span><a name="line.678"></a>
-<span class="sourceLineNo">679</span>  private AssignProcedure[] createAssignProcedures(final MasterProcedureEnv env,<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      final int regionReplication) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span>    final ServerName targetServer = getServerName(env);<a name="line.681"></a>
-<span class="sourceLineNo">682</span>    final AssignProcedure[] procs = new AssignProcedure[regionReplication];<a name="line.682"></a>
-<span class="sourceLineNo">683</span>    for (int i = 0; i &lt; procs.length; ++i) {<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      final RegionInfo hri = RegionReplicaUtil.getRegionInfoForReplica(mergedRegion, i);<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      procs[i] = env.getAssignmentManager().createAssignProcedure(hri, targetServer);<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    return procs;<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>  private int getRegionReplication(final MasterProcedureEnv env) throws IOException {<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    final TableDescriptor htd = env.getMasterServices().getTableDescriptors().get(getTableName());<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    return htd.getRegionReplication();<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>   * Post merge region action<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * @param env MasterProcedureEnv<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   **/<a name="line.698"></a>
-<span class="sourceLineNo">699</span>  private void preMergeRegionsCommit(final MasterProcedureEnv env) throws IOException {<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    if (cpHost != null) {<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      @MetaMutationAnnotation<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      final List&lt;Mutation&gt; metaEntries = new ArrayList&lt;Mutation&gt;();<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      cpHost.preMergeRegionsCommit(regionsToMerge, metaEntries, getUser());<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      try {<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        for (Mutation p : metaEntries) {<a name="line.706"></a>
-<span class="sourceLineNo">707</span>          RegionInfo.parseRegionName(p.getRow());<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        }<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      } catch (IOException e) {<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        LOG.error("Row key of mutation from coprocessor is not parsable as region name."<a name="line.710"></a>
-<span class="sourceLineNo">711</span>          + "Mutations from coprocessor should only be for hbase:meta table.", e);<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        throw e;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      }<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    }<a name="line.714"></a>
-<span class="sourceLineNo">715</span>  }<a name="line.715"></a>
-<span class="sourceLineNo">716</span><a name="line.716"></a>
-<span class="sourceLineNo">717</span>  /**<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * Add merged region to META and delete original regions.<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   */<a name="line.719"></a>
-<span class="sourceLineNo">720</span>  private void updateMetaForMergedRegions(final MasterProcedureEnv env)<a name="line.720"></a>
-<span class="sourceLineNo">721</span>  throws IOException, ProcedureYieldException {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    final ServerName serverName = getServerName(env);<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    env.getAssignmentManager().markRegionAsMerged(mergedRegion, serverName,<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      regionsToMerge[0], regionsToMerge[1]);<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>  /**<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   * Post merge region action<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * @param env MasterProcedureEnv<a name="line.729"></a>
-<span class="sourceLineNo">730</span>   **/<a name="line.730"></a>
-<span class="sourceLineNo">731</span>  private void postMergeRegionsCommit(final MasterProcedureEnv env) throws IOException {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.732"></a>
-<span class="sourceLineNo">733</span>    if (cpHost != null) {<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      cpHost.postMergeRegionsCommit(regionsToMerge, mergedRegion, getUser());<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><a name="line.737"></a>
-<span class="sourceLineNo">738</span>  /**<a name="line.738"></a>
-<span class="sourceLineNo">739</span>   * Post merge region action<a name="line.739"></a>
-<span class="sourceLineNo">740</span>   * @param env MasterProcedureEnv<a name="line.740"></a>
-<span class="sourceLineNo">741</span>   **/<a name="line.741"></a>
-<span class="sourceLineNo">742</span>  private void postCompletedMergeRegions(final MasterProcedureEnv env) throws IOException {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    if (cpHost != null) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      cpHost.postCompletedMergeRegionsAction(regionsToMerge, mergedRegion, getUser());<a name="line.745"></a>
-<span class="sourceLineNo">746</span>    }<a name="line.746"></a>
-<span class="sourceLineNo">747</span>  }<a name="line.747"></a>
-<span class="sourceLineNo">748</span><a name="line.748"></a>
-<span class="sourceLineNo">749</span>  /**<a name="line.749"></a>
-<span class="sourceLineNo">750</span>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.750"></a>
-<span class="sourceLineNo">751</span>   * retrieve it.<a name="line.751"></a>
-<span class="sourceLineNo">752</span>   * @param env MasterProcedureEnv<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   * @return serverName<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   */<a name="line.754"></a>
-<span class="sourceLineNo">755</span>  private ServerName getServerName(final MasterProcedureEnv env) {<a name="line.755"></a>
-<span class="sourceLineNo">756</span>    if (regionLocation == null) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      regionLocation = env.getAssignmentManager().getRegionStates().<a name="line.757"></a>
-<span class="sourceLineNo">758</span>          getRegionServerOfRegion(regionsToMerge[0]);<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      // May still be null here but return null and let caller deal.<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      // Means we lost the in-memory-only location. We are in recovery<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      // or so. The caller should be able to deal w/ a null ServerName.<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // Let them go to the Balancer to find one to use instead.<a name="line.762"></a>
-<span class="sourceLineNo">763</span>    }<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    return regionLocation;<a name="line.764"></a>
-<span class="sourceLineNo">765</span>  }<a name="line.765"></a>
-<span class="sourceLineNo">766</span><a name="line.766"></a>
-<span class="sourceLineNo">767</span>  /**<a name="line.767"></a>
-<span class="sourceLineNo">768</span>   * The procedure could be restarted from a different machine. If the variable is null, we need to<a name="line.768"></a>
-<span class="sourceLineNo">769</span>   * retrieve it.<a name="line.769"></a>
-<span class="sourceLineNo">770</span>   * @return traceEnabled<a name="line.770"></a>
-<span class="sourceLineNo">771</span>   */<a name="line.771"></a>
-<span class="sourceLineNo">772</span>  private Boolean isTraceEnabled() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>    if (traceEnabled == null) {<a name="line.773"></a>
-<span class="sourceLineNo">774</span>      traceEnabled = LOG.isTraceEnabled();<a name="line.774"></a>
-<span class="sourceLineNo">775</span>    }<a name="line.775"></a>
-<span class="sourceLineNo">776</span>    return traceEnabled;<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>   * @return The merged region. Maybe be null if called to early or we failed.<a name="line.780"></a>
-<span class="sourceLineNo">781</span>   */<a name="line.781"></a>
-<span class="sourceLineNo">782</span>  @VisibleForTesting<a name="line.782"></a>
-<span class="sourceLineNo">783</span>  public RegionInfo getMergedRegion() {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    return this.mergedRegion;<a name="line.784"></a>
-<span class="sourceLineNo">785</span>  }<a name="line.785"></a>
-<span class="sourceLineNo">786</span>}<a name="line.786"></a>
+<span class="sourceLineNo">506</span>    if (!mergeable) {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      IOException e = new IOException(current.getRegion().getShortNameToLog() + " NOT mergeable");<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      if (mergeableCheckIOE != null) e.initCause(mergeableCheckIOE);<a name="line.508"></a>
+<span class="sourceLineNo">509</span>      super.setFailure(getClass().getSimpleName(), e);<a name="line.509"></a>
+<span class="sourceLineNo">510</span>      return false;<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    }<a name="line.511"></a>
+<span class="sourceLineNo">512</span><a name="line.512"></a>
+<span class="sourceLineNo">513</span>    // Update region states to Merging<a name="line.513"></a>
+<span class="sourceLineNo">514</span>    setRegionStateToMerging(env);<a name="line.514"></a>
+<span class="sourceLineNo">515</span>    return true;<a name="line.515"></a>
+<span class="sourceLineNo">516</span>  }<a name="line.516"></a>
+<span class="sourceLineNo">517</span><a name="line.517"></a>
+<span class="sourceLineNo">518</span>  private boolean isMergeable(final MasterProcedureEnv env, final RegionState rs)<a name="line.518"></a>
+<span class="sourceLineNo">519</span>  throws IOException {<a name="line.519"></a>
+<span class="sourceLineNo">520</span>    GetRegionInfoResponse response =<a name="line.520"></a>
+<span class="sourceLineNo">521</span>      Util.getRegionInfoResponse(env, rs.getServerName(), rs.getRegion());<a name="line.521"></a>
+<span class="sourceLineNo">522</span>    return response.hasMergeable() &amp;&amp; response.getMergeable();<a name="line.522"></a>
+<span class="sourceLineNo">523</span>  }<a name="line.523"></a>
+<span class="sourceLineNo">524</span><a name="line.524"></a>
+<span class="sourceLineNo">525</span>  /**<a name="line.525"></a>
+<span class="sourceLineNo">526</span>   * Pre merge region action<a name="line.526"></a>
+<span class="sourceLineNo">527</span>   * @param env MasterProcedureEnv<a name="line.527"></a>
+<span class="sourceLineNo">528</span>   **/<a name="line.528"></a>
+<span class="sourceLineNo">529</span>  private void preMergeRegions(final MasterProcedureEnv env) throws IOException {<a name="line.529"></a>
+<span class="sourceLineNo">530</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.530"></a>
+<span class="sourceLineNo">531</span>    if (cpHost != null) {<a name="line.531"></a>
+<span class="sourceLineNo">532</span>      cpHost.preMergeRegionsAction(regionsToMerge, getUser());<a name="line.532"></a>
+<span class="sourceLineNo">533</span>    }<a name="line.533"></a>
+<span class="sourceLineNo">534</span>    // TODO: Clean up split and merge. Currently all over the place.<a name="line.534"></a>
+<span class="sourceLineNo">535</span>    try {<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      env.getMasterServices().getMasterQuotaManager().onRegionMerged(this.mergedRegion);<a name="line.536"></a>
+<span class="sourceLineNo">537</span>    } catch (QuotaExceededException e) {<a name="line.537"></a>
+<span class="sourceLineNo">538</span>      env.getAssignmentManager().getRegionNormalizer().planSkipped(this.mergedRegion,<a name="line.538"></a>
+<span class="sourceLineNo">539</span>          NormalizationPlan.PlanType.MERGE);<a name="line.539"></a>
+<span class="sourceLineNo">540</span>      throw e;<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    }<a name="line.541"></a>
+<span class="sourceLineNo">542</span>  }<a name="line.542"></a>
+<span class="sourceLineNo">543</span><a name="line.543"></a>
+<span class="sourceLineNo">544</span>  /**<a name="line.544"></a>
+<span class="sourceLineNo">545</span>   * Action after rollback a merge table regions action.<a name="line.545"></a>
+<span class="sourceLineNo">546</span>   * @param env MasterProcedureEnv<a name="line.546"></a>
+<span class="sourceLineNo">547</span>   * @throws IOException<a name="line.547"></a>
+<span class="sourceLineNo">548</span>   */<a name="line.548"></a>
+<span class="sourceLineNo">549</span>  private void postRollBackMergeRegions(final MasterProcedureEnv env) throws IOException {<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    final MasterCoprocessorHost cpHost = env.getMasterCoprocessorHost();<a name="line.550"></a>
+<span class="sourceLineNo">551</span>    if (cpHost != null) {<a name="line.551"></a>
+<span class="sourceLineNo">552</span>      cpHost.postRollBackMergeRegionsAction(regionsToMerge, getUser());<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    }<a name="line.553"></a>
+<span class="sourceLineNo">554</span>  }<a name="line.554"></a>
+<span class="sourceLineNo">555</span><a name="line.555"></a>
+<span class="sourceLineNo">556</span>  /**<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   * Set the region states to MERGING state<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   * @param env MasterProcedureEnv<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   * @throws IOException<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   */<a name="line.560"></a>
+<span class="sourceLineNo">561</span>  public void setRegionStateToMerging(final MasterProcedureEnv env) throws IOException {<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    // Set State.MERGING to regions to be merged<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    RegionStates regionStates = env.getAssignmentManager().getRegionStates();<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    regionStates.getRegionStateNode(regionsToMerge[0]).setState(State.MERGING);<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    regionStates.getRegionStateNode(regionsToMerge[1]).setState(State.MERGING);<a name="line.565"></a>
+<span class="sourceLineNo">566</span>  }<a name="line.566"></a>
+<span class="sourceLineNo">567</span><a name="line.567"></a>
+<span class="sourceLineNo">568</span>  /**<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   * Rollback the region state change<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   * Not used for now, since rollbackCloseRegionsForMerge() will mark regions as OPEN<a name="line.570"></a>
+<span class="sourceLineNo">571</span>   * @param env MasterProcedureEnv<a name="line.571"></a>
+<span class="sourceLineNo">572</span>   * @throws IOException<a name="line.572"></a>
+<span class="sourceLineNo">573</span>   */<a name="line.573"></a>
+<span class="sourceLineNo">574</span>  private void setRegionStateBackToOpen(final MasterProcedureEnv env) throws IOException {<a name="line.574"></a>
+<span class="sourceLineNo">575</span>    // revert region state to Open<a name="line.575"></a>
+<span class="sourceLineNo">576</span>    RegionStates regionStates = env.getAssignmentManager().getRegionStates();<a name="line.576"></a>
+<span class="sourceLineNo">577</span>    regionStates.getRegionStateNode(regionsToMerge[0]).setState(State.OPEN);<a name="line.577"></a>
+<span class="sourceLineNo">578</span>    regionStates.getRegionStateNode(regionsToMerge[1]).setState(State.OPEN);<a name="line.578"></a>
+<span class="sourceLineNo">579</span>  }<a name="line.579"></a>
+<span class="sourceLineNo">580</span><a name="line.580"></a>
+<span class="sourceLineNo">581</span>  /**<a name="line.581"></a>
+<span class="sourceLineNo">582</span>   * Create merged region<a name="line.582"></a>
+<span class="sourceLineNo">583</span>   * @param env MasterProcedureEnv<a name="line.583"></a>
+<span class="sourceLineNo">584</span>   * @throws IOException<a name="line.584"></a>
+<span class="sourceLineNo">585</span>   */<a name="line.585"></a>
+<span class="sourceLineNo">586</span>  private void createMergedRegion(final MasterProcedureEnv env) throws IOException {<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    final MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.587"></a>
+<span class="sourceLineNo">588</span>    final Path tabledir = FSUtils.getTableDir(mfs.getRootDir(), regionsToMerge[0].getTable());<a name="line.588"></a>
+<span class="sourceLineNo">589</span>    final FileSystem fs = mfs.getFileSystem();<a name="line.589"></a>
+<span class="sourceLineNo">590</span>    HRegionFileSystem regionFs = HRegionFileSystem.openRegionFromFileSystem(<a name="line.590"></a>
+<span class="sourceLineNo">591</span>      env.getMasterConfiguration(), fs, tabledir, regionsToMerge[0], false);<a name="line.591"></a>
+<span class="sourceLineNo">592</span>    regionFs.createMergesDir();<a name="line.592"></a>
+<span class="sourceLineNo">593</span><a name="line.593"></a>
+<span class="sourceLineNo">594</span>    mergeStoreFiles(env, regionFs, regionFs.getMergesDir());<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    HRegionFileSystem regionFs2 = HRegionFileSystem.openRegionFromFileSystem(<a name="line.595"></a>
+<span class="sourceLineNo">596</span>      env.getMasterConfiguration(), fs, tabledir, regionsToMerge[1], false);<a name="line.596"></a>
+<span class="sourceLineNo">597</span>    mergeStoreFiles(env, regionFs2, regionFs.getMergesDir());<a name="line.597"></a>
+<span class="sourceLineNo">598</span><a name="line.598"></a>
+<span class="sourceLineNo">599</span>    regionFs.commitMergedRegion(mergedRegion);<a name="line.599"></a>
+<span class="sourceLineNo">600</span><a name="line.600"></a>
+<span class="sourceLineNo">601</span>    //Prepare to create merged regions<a name="line.601"></a>
+<span class="sourceLineNo">602</span>    env.getAssignmentManager().getRegionStates().<a name="line.602"></a>
+<span class="sourceLineNo">603</span>        getOrCreateRegionStateNode(mergedRegion).setState(State.MERGING_NEW);<a name="line.603"></a>
+<span class="sourceLineNo">604</span>  }<a name="line.604"></a>
+<span class="sourceLineNo">605</span><a name="line.605"></a>
+<span class="sourceLineNo">606</span>  /**<a name="line.606"></a>
+<span class="sourceLineNo">607</span>   * Create reference file(s) of merging regions under the merges directory<a name="line.607"></a>
+<span class="sourceLineNo">608</span>   * @param env MasterProcedureEnv<a name="line.608"></a>
+<span class="sourceLineNo">609</span>   * @param regionFs region file system<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   * @param mergedDir the temp directory of merged region<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   * @throws IOException<a name="line.611"></a>
+<span class="sourceLineNo">612</span>   */<a name="line.612"></a>
+<span class="sourceLineNo">613</span>  private void mergeStoreFiles(<a name="line.613"></a>
+<span class="sourceLineNo">614</span>      final MasterProcedureEnv env, final HRegionFileSystem regionFs, final Path mergedDir)<a name="line.614"></a>
+<span class="sourceLineNo">615</span>      throws IOException {<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    final MasterFileSystem mfs = env.getMasterServices().getMasterFileSystem();<a name="line.616"></a>
+<span class="sourceLineNo">617</span>    final Configuration conf = env.getMasterConfiguration();<a name="line.617"></a>
+<span class="sourceLineNo">618</span>    final TableDescriptor htd = env.getMasterServices().getTableDescriptors().get(getTableName());<a name="line.618"></a>
+<span class="sourceLineNo">619</span><a name="line.619"></a>
+<span class="sourceLineNo">620</span>    for (String family: regionFs.getFamilies()) {<a name="line.620"></a>
+<span class="sourceLineNo">621</span>      final ColumnFamilyDescriptor hcd = htd.getColumnFamily(Bytes.toBytes(family));<a name="line.621"></a>
+<span class="sourceLineNo">622</span>      final Collection&lt;StoreFileInfo&gt; storeFiles = regionFs.getStoreFiles(family);<a name="line.622"></a>
+<span class="sourceLineNo">623</span><a name="line.623"></a>
+<span class="sourceLineNo">624</span>      if (storeFiles != null &amp;&amp; storeFiles.size() &gt; 0) {<a name="line.624"></a>
+<span class="sourceLineNo">625</span>        final CacheConfig cacheConf = new CacheConfig(conf, hcd);<a name="line.625"></a>
+<span class="sourceLineNo">626</span>        for (StoreFileInfo storeFileInfo: storeFiles) {<a name="line.626"></a>
+<span class="sourceLineNo">627</span>          // Create reference file(s) of the region in mergedDir<a name="line.627"></a>
+<span class="sourceLineNo">628</span>          regionFs.mergeStoreFile(mergedRegion, family, new HStoreFile(mfs.getFileSystem(),<a name="line.628"></a>
+<span class="sourceLineNo">629</span>              storeFileInfo, conf, cacheConf, hcd.getBloomFilterType(), true),<a name="line.629"></a>
+<span class="sourceLineNo">630</span>            mergedDir);<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>  }<a name="line.634"></a>
+<span class="sourceLineNo">635</span><a name="line.635"></a>
+<span class="sourceLineNo">636</span>  /**<a name="line.636"></a>
+<span class="sourceLineNo">637</span>   * Clean up merged region<a name="line.637"></a>
+<span class="sourceLineNo">638</span>   * @param env MasterProcedureEnv<a name="line.638"></a>
+<span class="sourceLineNo">639</span>   * @throws IOException<a name="line.639"></a>
+<span class="sourceLineNo">640</span>   */<a name="line.640"></a>
+<span class="sourceLineNo">641</span>  private void cleanupMergedRegion(final MasterProcedureEn

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/Region.Operation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.Operation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.Operation.html
index aa09a37..508f9ac 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.Operation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.Operation.html
@@ -382,7 +382,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.491">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.490">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:
@@ -402,7 +402,7 @@ for (Region.Operation c : Region.Operation.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.491">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.Operation.html#line.490">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
index 4744420..1f13b70 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
@@ -188,13 +188,12 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 </tr>
 <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/regionserver/Region.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-boolean-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
                  byte[]&nbsp;family,
                  byte[]&nbsp;qualifier,
                  <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                  <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
-                 <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations,
-                 boolean&nbsp;writeToWAL)</code>
+                 <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)</code>
 <div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
  it performs the row mutations.</div>
 </td>
@@ -1021,19 +1020,18 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 </dl>
 </li>
 </ul>
-<a name="checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-boolean-">
+<a name="checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndRowMutate</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.316">checkAndRowMutate</a>(byte[]&nbsp;row,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.315">checkAndRowMutate</a>(byte[]&nbsp;row,
                           byte[]&nbsp;family,
                           byte[]&nbsp;qualifier,
                           <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                           <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
-                          <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations,
-                          boolean&nbsp;writeToWAL)
+                          <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
  it performs the row mutations. If the passed value is null, the lack of column value
@@ -1047,7 +1045,6 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <dd><code>op</code> - the comparison operator</dd>
 <dd><code>comparator</code> - </dd>
 <dd><code>mutations</code> - </dd>
-<dd><code>writeToWAL</code> - </dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if mutations were applied, false otherwise</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1061,7 +1058,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <ul class="blockList">
 <li class="blockList">
 <h4>delete</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.325">delete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.324">delete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Deletes the specified cells/row.</div>
 <dl>
@@ -1078,7 +1075,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.332">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.331">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Do a get based on the get parameter.</div>
 <dl>
@@ -1097,7 +1094,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.341">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.340">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
                boolean&nbsp;withCoprocessor)
         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Do a get based on the get parameter.</div>
@@ -1119,7 +1116,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.353">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.352">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Return an iterator that scans over the HRegion, returning the indicated
  columns and rows specified by the <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client"><code>Scan</code></a>.
@@ -1141,7 +1138,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.368">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.367">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Return an iterator that scans over the HRegion, returning the indicated columns and rows
@@ -1167,7 +1164,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellComparator</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.371">getCellComparator</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.370">getCellComparator</a>()</pre>
 <div class="block">The comparator to be used with the region</div>
 </li>
 </ul>
@@ -1177,7 +1174,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <ul class="blockList">
 <li class="blockList">
 <h4>increment</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.379">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.378">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)
           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Perform one or more increment operations on a row.</div>
 <dl>
@@ -1196,7 +1193,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <ul class="blockList">
 <li class="blockList">
 <h4>mutateRow</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.388">mutateRow</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.387">mutateRow</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)
         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Performs multiple mutations atomically on a single row. Currently
  <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> are supported.</div>
@@ -1214,7 +1211,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <ul class="blockList">
 <li class="blockList">
 <h4>mutateRowsWithLocks</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.405">mutateRowsWithLocks</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.404">mutateRowsWithLocks</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;rowsToLock,
                          long&nbsp;nonceGroup,
                          long&nbsp;nonce)
@@ -1242,7 +1239,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserv
 <li class="blockList">
 <h4>processRowsWithLocks</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.416">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor)
+void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.415">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0. For customization, use
  Coprocessors instead.</span></div>
@@ -1262,7 +1259,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <li class="blockList">
 <h4>processRowsWithLocks</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.430">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
+void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.429">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                                       long&nbsp;nonceGroup,
                                       long&nbsp;nonce)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1286,7 +1283,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <li class="blockList">
 <h4>processRowsWithLocks</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.447">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
+void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.446">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                                       long&nbsp;timeout,
                                       long&nbsp;nonceGroup,
                                       long&nbsp;nonce)
@@ -1312,7 +1309,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.455">put</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.454">put</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)
   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Puts some data in the table.</div>
 <dl>
@@ -1329,7 +1326,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionState</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.464">getCompactionState</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.463">getCompactionState</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if a given region is in compaction now.</dd>
@@ -1342,7 +1339,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>requestCompaction</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.469">requestCompaction</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.468">requestCompaction</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why,
                        int&nbsp;priority,
                        boolean&nbsp;major,
                        <a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionLifeCycleTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.compactions">CompactionLifeCycleTracker</a>&nbsp;tracker)
@@ -1360,7 +1357,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>requestCompaction</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.475">requestCompaction</a>(byte[]&nbsp;family,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.474">requestCompaction</a>(byte[]&nbsp;family,
                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why,
                        int&nbsp;priority,
                        boolean&nbsp;major,
@@ -1379,7 +1376,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>requestFlush</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.481">requestFlush</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushLifeCycleTracker.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushLifeCycleTracker</a>&nbsp;tracker)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.480">requestFlush</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushLifeCycleTracker.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushLifeCycleTracker</a>&nbsp;tracker)
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Request flush on this region.</div>
 <dl>
@@ -1394,7 +1391,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>waitForFlushes</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.490">waitForFlushes</a>(long&nbsp;timeout)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Region.html#line.489">waitForFlushes</a>(long&nbsp;timeout)</pre>
 <div class="block">Wait for all current flushes of the region to complete</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationService.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationService.html b/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationService.html
index 3e17539..c0d2fbd 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationService.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationService.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationService.html#line.36">ReplicationService</a></pre>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationService.html#line.34">ReplicationService</a></pre>
 <div class="block">Gateway to Cluster Replication. Used by
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegionServer</code></a>. One such application is a
  cross-datacenter replication service that can keep two hbase clusters in sync.</div>
@@ -134,11 +134,11 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">initialize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;rs,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">initialize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;rs,
           org.apache.hadoop.fs.FileSystem&nbsp;fs,
           org.apache.hadoop.fs.Path&nbsp;logdir,
           org.apache.hadoop.fs.Path&nbsp;oldLogDir,
-          <a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a>&nbsp;walFileLengthProvider)</code>
+          <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)</code>
 <div class="block">Initializes the replication service object.</div>
 </td>
 </tr>
@@ -175,20 +175,23 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">
+<a name="initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationService.html#line.42">initialize</a>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;rs,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationService.html#line.41">initialize</a>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;rs,
                 org.apache.hadoop.fs.FileSystem&nbsp;fs,
                 org.apache.hadoop.fs.Path&nbsp;logdir,
                 org.apache.hadoop.fs.Path&nbsp;oldLogDir,
-                <a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a>&nbsp;walFileLengthProvider)
+                <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)
          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Initializes the replication service object.</div>
 <dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>walProvider</code> - can be null if not initialized inside a live region server environment, for
+          example, <code>ReplicationSyncUp</code>.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
@@ -200,7 +203,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockList">
 <li class="blockList">
 <h4>startReplicationService</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationService.html#line.49">startReplicationService</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationService.html#line.47">startReplicationService</a>()
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Start replication services.</div>
 <dl>
@@ -215,7 +218,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockList">
 <li class="blockList">
 <h4>stopReplicationService</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationService.html#line.54">stopReplicationService</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationService.html#line.52">stopReplicationService</a>()</pre>
 <div class="block">Stops replication service.</div>
 </li>
 </ul>
@@ -225,7 +228,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockListLast">
 <li class="blockList">
 <h4>refreshAndGetReplicationLoad</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationLoad</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationService.html#line.59">refreshAndGetReplicationLoad</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationLoad.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationLoad</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationService.html#line.57">refreshAndGetReplicationLoad</a>()</pre>
 <div class="block">Refresh and Get ReplicationLoad</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html b/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html
index 4f55847..365ab00 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html
@@ -149,7 +149,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Replication
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">initialize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#refreshAndGetReplicationLoad--">refreshAndGetReplicationLoad</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#startReplicationService--">startReplicationService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#stopReplicationService--">stopReplicationService</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">initialize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#refreshAndGetReplicationLoad--">refreshAndGetReplicationLoad</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#startReplicationService--">startReplicationService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#stopReplicationService--">stopReplicationService</a></code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html b/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html
index d327edd..5499aae 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6};
+var methods = {"i0":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#line.30">ReplicationSourceService</a>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#line.29">ReplicationSourceService</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a></pre>
 <div class="block">A source for a replication stream has to expose this service.
  This service allows an application to hook into the
@@ -139,19 +139,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Replication
 <div class="block">Returns a Handler to handle peer procedures.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#getWALActionsListener--">getWALActionsListener</a></span>()</code>
-<div class="block">Returns a WALObserver for the service.</div>
-</td>
-</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.regionserver.ReplicationService">
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">initialize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#refreshAndGetReplicationLoad--">refreshAndGetReplicationLoad</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#startReplicationService--">startReplicationService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#stopReplicationService--">stopReplicationService</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">initialize</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#refreshAndGetReplicationLoad--">refreshAndGetReplicationLoad</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#startReplicationService--">startReplicationService</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#stopReplicationService--">stopReplicationService</a></code></li>
 </ul>
 </li>
 </ul>
@@ -167,24 +161,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Replication
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getWALActionsListener--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getWALActionsListener</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#line.35">getWALActionsListener</a>()</pre>
-<div class="block">Returns a WALObserver for the service. This is needed to
- observe log rolls and log archival events.</div>
-</li>
-</ul>
 <a name="getPeerProcedureHandler--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getPeerProcedureHandler</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandler</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#line.41">getPeerProcedureHandler</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandler</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#line.34">getPeerProcedureHandler</a>()</pre>
 <div class="block">Returns a Handler to handle peer procedures.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/ScanInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/ScanInfo.html b/devapidocs/org/apache/hadoop/hbase/regionserver/ScanInfo.html
index 53cec1b..842bff6 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/ScanInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/ScanInfo.html
@@ -256,9 +256,10 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html#customize-int-long-">customize</a></span>(int&nbsp;maxVersions,
-         long&nbsp;ttl)</code>
-<div class="block">Used for CP users for customizing max versions and ttl.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html#customize-int-long-org.apache.hadoop.hbase.KeepDeletedCells-">customize</a></span>(int&nbsp;maxVersions,
+         long&nbsp;ttl,
+         <a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;keepDeletedCells)</code>
+<div class="block">Used for CP users for customizing max versions, ttl and keepDeletedCells.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
@@ -681,15 +682,16 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanInfo.html#line.169">isNewVersionBehavior</a>()</pre>
 </li>
 </ul>
-<a name="customize-int-long-">
+<a name="customize-int-long-org.apache.hadoop.hbase.KeepDeletedCells-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>customize</h4>
 <pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanInfo.html#line.176">customize</a>(int&nbsp;maxVersions,
-                   long&nbsp;ttl)</pre>
-<div class="block">Used for CP users for customizing max versions and ttl.</div>
+                   long&nbsp;ttl,
+                   <a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;keepDeletedCells)</pre>
+<div class="block">Used for CP users for customizing max versions, ttl and keepDeletedCells.</div>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/ScanOptions.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/ScanOptions.html b/devapidocs/org/apache/hadoop/hbase/regionserver/ScanOptions.html
index 5220deb..2b5e49e 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/ScanOptions.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/ScanOptions.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":18,"i3":6,"i4":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":18,"i4":6,"i5":6,"i6":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";
@@ -107,7 +107,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.LimitedPrivate(value="Coprocesssor")
  @InterfaceStability.Evolving
-public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.49">ScanOptions</a></pre>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.50">ScanOptions</a></pre>
 <div class="block">This class gives you the ability to change the max versions and TTL options before opening a
  scanner for a Store. And also gives you some information for the scan.
  <p>
@@ -151,22 +151,30 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html#getKeepDeletedCells--">getKeepDeletedCells</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html#getMaxVersions--">getMaxVersions</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html#getTTL--">getTTL</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html#readAllVersions--">readAllVersions</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html#setKeepDeletedCells-org.apache.hadoop.hbase.KeepDeletedCells-">setKeepDeletedCells</a></span>(<a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;keepDeletedCells)</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/regionserver/ScanOptions.html#setMaxVersions-int-">setMaxVersions</a></span>(int&nbsp;maxVersions)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<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/regionserver/ScanOptions.html#setTTL-long-">setTTL</a></span>(long&nbsp;ttl)</code>&nbsp;</td>
 </tr>
@@ -191,7 +199,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxVersions</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.51">getMaxVersions</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.52">getMaxVersions</a>()</pre>
 </li>
 </ul>
 <a name="setMaxVersions-int-">
@@ -200,7 +208,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxVersions</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.53">setMaxVersions</a>(int&nbsp;maxVersions)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.54">setMaxVersions</a>(int&nbsp;maxVersions)</pre>
 </li>
 </ul>
 <a name="readAllVersions--">
@@ -209,7 +217,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockList">
 <li class="blockList">
 <h4>readAllVersions</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.55">readAllVersions</a>()</pre>
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.56">readAllVersions</a>()</pre>
 </li>
 </ul>
 <a name="getTTL--">
@@ -218,16 +226,34 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockList">
 <li class="blockList">
 <h4>getTTL</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.59">getTTL</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.60">getTTL</a>()</pre>
 </li>
 </ul>
 <a name="setTTL-long-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>setTTL</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.61">setTTL</a>(long&nbsp;ttl)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.62">setTTL</a>(long&nbsp;ttl)</pre>
+</li>
+</ul>
+<a name="setKeepDeletedCells-org.apache.hadoop.hbase.KeepDeletedCells-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setKeepDeletedCells</h4>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.64">setKeepDeletedCells</a>(<a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;keepDeletedCells)</pre>
+</li>
+</ul>
+<a name="getKeepDeletedCells--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getKeepDeletedCells</h4>
+<pre><a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanOptions.html#line.66">getKeepDeletedCells</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegionServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegionServer.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegionServer.html
index 6ef03c0..f409899 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegionServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegionServer.html
@@ -386,11 +386,12 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private static void</code></td>
-<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createNewReplicationInstance-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">createNewReplicationInstance</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#createNewReplicationInstance-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">createNewReplicationInstance</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                             <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;server,
                             org.apache.hadoop.fs.FileSystem&nbsp;walFs,
                             org.apache.hadoop.fs.Path&nbsp;walDir,
-                            org.apache.hadoop.fs.Path&nbsp;oldWALDir)</code>
+                            org.apache.hadoop.fs.Path&nbsp;oldWALDir,
+                            <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)</code>
 <div class="block">Load the replication executorService objects, if any</div>
 </td>
 </tr>
@@ -410,13 +411,15 @@
            <a href="http://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</a>&nbsp;out)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a></code></td>
-<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#newReplicationInstance-java.lang.String-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">newReplicationInstance</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classname,
+<td class="colFirst"><code>private static &lt;T extends <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a>&gt;<br>T</code></td>
+<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#newReplicationInstance-java.lang.String-java.lang.Class-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">newReplicationInstance</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classname,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;xface,
                       org.apache.hadoop.conf.Configuration&nbsp;conf,
                       <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;server,
                       org.apache.hadoop.fs.FileSystem&nbsp;walFs,
                       org.apache.hadoop.fs.Path&nbsp;logDir,
-                      org.apache.hadoop.fs.Path&nbsp;oldLogDir)</code>&nbsp;</td>
+                      org.apache.hadoop.fs.Path&nbsp;oldLogDir,
+                      <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ReplicationService.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ReplicationService.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ReplicationService.html
index ac2c858..8491a9b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ReplicationService.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ReplicationService.html
@@ -121,20 +121,22 @@
 </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/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> that return <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with type parameters of type <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</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 static <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a></code></td>
-<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#newReplicationInstance-java.lang.String-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">newReplicationInstance</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classname,
+<td class="colFirst"><code>private static &lt;T extends <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a>&gt;<br>T</code></td>
+<td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#newReplicationInstance-java.lang.String-java.lang.Class-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.regionserver.HRegionServer-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">newReplicationInstance</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;classname,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;xface,
                       org.apache.hadoop.conf.Configuration&nbsp;conf,
                       <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;server,
                       org.apache.hadoop.fs.FileSystem&nbsp;walFs,
                       org.apache.hadoop.fs.Path&nbsp;logDir,
-                      org.apache.hadoop.fs.Path&nbsp;oldLogDir)</code>&nbsp;</td>
+                      org.apache.hadoop.fs.Path&nbsp;oldLogDir,
+                      <a href="../../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ScanInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ScanInfo.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ScanInfo.html
index 92ed0ee..dc4481c 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ScanInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ScanInfo.html
@@ -133,9 +133,10 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ScanInfo.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html#customize-int-long-">customize</a></span>(int&nbsp;maxVersions,
-         long&nbsp;ttl)</code>
-<div class="block">Used for CP users for customizing max versions and ttl.</div>
+<td class="colLast"><span class="typeNameLabel">ScanInfo.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html#customize-int-long-org.apache.hadoop.hbase.KeepDeletedCells-">customize</a></span>(int&nbsp;maxVersions,
+         long&nbsp;ttl,
+         <a href="../../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;keepDeletedCells)</code>
+<div class="block">Used for CP users for customizing max versions, ttl and keepDeletedCells.</div>
 </td>
 </tr>
 <tr class="altColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 f1c6749..fe6532c 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -705,18 +705,18 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/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/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/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/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/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/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/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/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/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/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/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/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/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/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/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/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 c2cf4f9..7f3ec96 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="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/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/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html
index a3dc153..a9b8590 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html
@@ -101,7 +101,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/MetricsWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">MetricsWAL</a>, <a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html" title="class in org.apache.hadoop.hbase.replication.regionserver">Replication</a></dd>
+<dd><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/MetricsWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">MetricsWAL</a></dd>
 </dl>
 <hr>
 <br>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/HMaster.html b/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
index a1959be..f19ffcc 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMaster.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":9,"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":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":9,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109
 ":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":9,"i118":10,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":10,"i131":9,"i132":10,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":10,"i152":10,"i153":10,"i154":10,"i155":10,"i156":10,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":10,"i168":10,"i169":9};
+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":9,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":9,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":9,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":9,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109"
 :10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":9,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":10,"i131":10,"i132":9,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":10,"i152":10,"i153":10,"i154":10,"i155":10,"i156":10,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":10,"i165":10,"i166":10,"i167":10,"i168":10,"i169":10,"i170":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.LimitedPrivate(value="Tools")
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.232">HMaster</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.236">HMaster</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></pre>
 <div class="block">HMaster is the "master server" for HBase. An HBase cluster has one active
@@ -668,6 +668,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 </td>
 </tr>
 <tr id="i32" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#decorateMasterConfiguration-org.apache.hadoop.conf.Configuration-">decorateMasterConfiguration</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
+<div class="block">This method modifies the master's configuration in order to inject replication-related features</div>
+</td>
+</tr>
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#deleteColumn-org.apache.hadoop.hbase.TableName-byte:A-long-long-">deleteColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             byte[]&nbsp;columnName,
@@ -676,7 +682,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Delete a column from an existing table</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#deleteNamespace-java.lang.String-long-long-">deleteNamespace</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                long&nbsp;nonceGroup,
@@ -684,7 +690,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Delete an existing Namespace.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#deleteTable-org.apache.hadoop.hbase.TableName-long-long-">deleteTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
            long&nbsp;nonceGroup,
@@ -692,13 +698,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Delete a table</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#disableReplicationPeer-java.lang.String-">disableReplicationPeer</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Stop the replication stream to the specified peer</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#disableTable-org.apache.hadoop.hbase.TableName-long-long-">disableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
             long&nbsp;nonceGroup,
@@ -706,13 +712,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Disable an existing table</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#enableReplicationPeer-java.lang.String-">enableReplicationPeer</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Restart the replication stream to the specified peer</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#enableTable-org.apache.hadoop.hbase.TableName-long-long-">enableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
            long&nbsp;nonceGroup,
@@ -720,293 +726,293 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Enable an existing table</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#executePeerProcedure-org.apache.hadoop.hbase.master.replication.ModifyPeerProcedure-">executePeerProcedure</a></span>(<a href="../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a>&nbsp;procedure)</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#filterTablesByRegex-java.util.Collection-java.util.regex.Pattern-">filterTablesByRegex</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;descriptors,
                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</code>
 <div class="block">Removes the table descriptors that don't match the pattern.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#finishActiveMasterInitialization-org.apache.hadoop.hbase.monitoring.MonitoredTask-">finishActiveMasterInitialization</a></span>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)</code>
 <div class="block">Finish initialization of HMaster after becoming the primary master.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getAssignmentManager--">getAssignmentManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getAverageLoad--">getAverageLoad</a></span>()</code>
 <div class="block">Compute the average load across all region servers.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getBackupMasters--">getBackupMasters</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master">CatalogJanitor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getCatalogJanitor--">getCatalogJanitor</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClientIdAuditPrefix--">getClientIdAuditPrefix</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterMetrics--">getClusterMetrics</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterMetrics-java.util.EnumSet-">getClusterMetrics</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase">ClusterMetrics.Option</a>&gt;&nbsp;options)</code>&nbsp;</td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterMetricsWithoutCoprocessor--">getClusterMetricsWithoutCoprocessor</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterMetricsWithoutCoprocessor-java.util.EnumSet-">getClusterMetricsWithoutCoprocessor</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase">ClusterMetrics.Option</a>&gt;&nbsp;options)</code>&nbsp;</td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchema.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchema</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getClusterSchema--">getClusterSchema</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends javax.servlet.http.HttpServlet&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getDumpServlet--">getDumpServlet</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesManager.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getFavoredNodesManager--">getFavoredNodesManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getHFileCleaner--">getHFileCleaner</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getInitializedEvent--">getInitializedEvent</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestamp-org.apache.hadoop.hbase.TableName-">getLastMajorCompactionTimestamp</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLastMajorCompactionTimestampForRegion-byte:A-">getLastMajorCompactionTimestampForRegion</a></span>(byte[]&nbsp;regionName)</code>&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master">LoadBalancer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadBalancer--">getLoadBalancer</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadBalancerClassName--">getLoadBalancerClassName</a></span>()</code>
 <div class="block">Fetch the configured <a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master"><code>LoadBalancer</code></a> class name.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLoadedCoprocessors--">getLoadedCoprocessors</a></span>()</code>
 <div class="block">The set of loaded coprocessors is stored in a static set.</div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/locking/LockManager.html" title="class in org.apache.hadoop.hbase.master.locking">LockManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLockManager--">getLockManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResource.html" title="class in org.apache.hadoop.hbase.procedure2">LockedResource</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLocks--">getLocks</a></span>()</code>
 <div class="block">Get locks</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getLogCleaner--">getLogCleaner</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterActiveTime--">getMasterActiveTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterCoprocessorHost--">getMasterCoprocessorHost</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterCoprocessors--">getMasterCoprocessors</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterFileSystem--">getMasterFileSystem</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterFinishedInitializationTime--">getMasterFinishedInitializationTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterMetrics--">getMasterMetrics</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureExecutor.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureExecutor</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterProcedureExecutor--">getMasterProcedureExecutor</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterProcedureManagerHost--">getMasterProcedureManagerHost</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterQuotaManager--">getMasterQuotaManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.html" title="class in org.apache.hadoop.hbase.master">MasterRpcServices</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterRpcServices--">getMasterRpcServices</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterStartTime--">getMasterStartTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterWalManager.html" title="class in org.apache.hadoop.hbase.master">MasterWalManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMasterWalManager--">getMasterWalManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMaxBalancingTime--">getMaxBalancingTime</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMaxRegionsInTransition--">getMaxRegionsInTransition</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMergePlanCount--">getMergePlanCount</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code>protected <a href="http://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;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder</a>,<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TableDescriptorBuilder</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMetaTableObserver--">getMetaTableObserver</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getMobCompactionState-org.apache.hadoop.hbase.TableName-">getMobCompactionState</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">Gets the mob file compaction state for a specific table.</div>
 </td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNamespace-java.lang.String-">getNamespace</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get a Namespace</div>
 </td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNamespaces--">getNamespaces</a></span>()</code>
 <div class="block">Get all Namespaces</div>
 </td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getNumWALFiles--">getNumWALFiles</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getProcedures--">getProcedures</a></span>()</code>
 <div class="block">Get procedures</div>
 </td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getProcessName--">getProcessName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaObserverChore.html" title="class in org.apache.hadoop.hbase.quotas">QuotaObserverChore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getQuotaObserverChore--">getQuotaObserverChore</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizer.html" title="interface in org.apache.hadoop.hbase.master.normalizer">RegionNormalizer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionNormalizer--">getRegionNormalizer</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">RegionNormalizerTracker</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionNormalizerTracker--">getRegionNormalizerTracker</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.html" title="class in org.apache.hadoop.hbase.monitoring">MemoryBoundedLogMessageBuffer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerFatalLogBuffer--">getRegionServerFatalLogBuffer</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerInfoPort-org.apache.hadoop.hbase.ServerName-">getRegionServerInfoPort</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>&nbsp;</td>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRegionServerVersion-org.apache.hadoop.hbase.ServerName-">getRegionServerVersion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</code>&nbsp;</td>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRemoteInetAddress-int-long-">getRemoteInetAddress</a></span>(int&nbsp;port,
                     long&nbsp;serverStartCode)</code>&nbsp;</td>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.RemoteProcedure.html" title="interface in org.apache.hadoop.hbase.procedure2">RemoteProcedureDispatcher.RemoteProcedure</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>,?&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getRemoteProcedure-long-">getRemoteProcedure</a></span>(long&nbsp;procId)</code>&nbsp;</td>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getReplicationPeerConfig-java.lang.String-">getReplicationPeerConfig</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Returns the configured ReplicationPeerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication">ReplicationPeerManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getReplicationPeerManager--">getReplicationPeerManager</a></span>()</code>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.html" title="class in org.apache.hadoop.hbase.master.replication"><code>ReplicationPeerManager</code></a>.</div>
 </td>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerCrashProcessingEnabledEvent--">getServerCrashProcessingEnabledEvent</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerManager--">getServerManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i99" 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"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getServerName--">getServerName</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i99" class="rowColor">
+<tr id="i100" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSnapshotManager--">getSnapshotManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i100" class="altColor">
+<tr id="i101" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.html" title="interface in org.apache.hadoop.hbase.quotas">SpaceQuotaSnapshotNotifier</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSpaceQuotaSnapshotNotifier--">getSpaceQuotaSnapshotNotifier</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeTracker.html" title="class in org.apache.hadoop.hbase.master">SplitOrMergeTracker</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSplitOrMergeTracker--">getSplitOrMergeTracker</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getSplitPlanCount--">getSplitPlanCount</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i103" class="rowColor">
+<tr id="i104" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableDescriptors--">getTableDescriptors</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i104" class="altColor">
+<tr id="i105" class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableDescriptors-java.util.List-java.lang.String-java.lang.String-java.util.List-boolean-">getTableDescriptors</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;htds,
                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
@@ -1014,7 +1020,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableNameList,
                    boolean&nbsp;includeSysTables)</code>&nbsp;</td>
 </tr>
-<tr id="i105" class="rowColor">
+<tr id="i106" class="altColor">
 <td class="colFirst"><code>(package private) <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/master/HMaster.html#getTableRegionForRow-org.apache.hadoop.hbase.TableName-byte:A-">getTableRegionForRow</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                     byte[]&nbsp;rowKey)</code>
@@ -1022,112 +1028,112 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
  the given row.</div>
 </td>
 </tr>
-<tr id="i106" class="altColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/master/TableStateManager.html" title="class in org.apache.hadoop.hbase.master">TableStateManager</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getTableStateManager--">getTableStateManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i107" class="rowColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getUseThisHostnameInstead-org.apache.hadoop.conf.Configuration-">getUseThisHostnameInstead</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr id="i108" class="altColor">
+<tr id="i109" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getWalProcedureStore--">getWalProcedureStore</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i109" class="rowColor">
+<tr id="i110" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKWatcher</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#getZooKeeper--">getZooKeeper</a></span>()</code>
 <div class="block">Gets the ZooKeeper instance for this server.</div>
 </td>
 </tr>
-<tr id="i110" class="altColor">
+<tr id="i111" class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initClusterSchemaService--">initClusterSchemaService</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i111" class="rowColor">
+<tr id="i112" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initializeZKBasedSystemTrackers--">initializeZKBasedSystemTrackers</a></span>()</code>
 <div class="block">Initialize all ZK based system trackers.</div>
 </td>
 </tr>
-<tr id="i112" class="altColor">
+<tr id="i113" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initMobCleaner--">initMobCleaner</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i113" class="rowColor">
+<tr id="i114" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#initQuotaManager--">initQuotaManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i114" class="altColor">
+<tr id="i115" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isActiveMaster--">isActiveMaster</a></span>()</code>
 <div class="block">Report whether this master is currently the active master or not.</div>
 </td>
 </tr>
-<tr id="i115" class="rowColor">
+<tr id="i116" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isBalancerOn--">isBalancerOn</a></span>()</code>
 <div class="block">Queries the state of the <a href="../../../../../org/apache/hadoop/hbase/zookeeper/LoadBalancerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper"><code>LoadBalancerTracker</code></a>.</div>
 </td>
 </tr>
-<tr id="i116" class="altColor">
+<tr id="i117" class="rowColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isCatalogJanitorEnabled--">isCatalogJanitorEnabled</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i117" class="rowColor">
+<tr id="i118" class="altColor">
 <td class="colFirst"><code>private static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isCatalogTable-org.apache.hadoop.hbase.TableName-">isCatalogTable</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="i118" class="altColor">
+<tr id="i119" class="rowColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isCleanerChoreEnabled--">isCleanerChoreEnabled</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i119" class="rowColor">
+<tr id="i120" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isInitialized--">isInitialized</a></span>()</code>
 <div class="block">Report whether this master has completed with its initialization and is
  ready.</div>
 </td>
 </tr>
-<tr id="i120" class="altColor">
+<tr id="i121" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isInMaintenanceMode--">isInMaintenanceMode</a></span>()</code>
 <div class="block">Report whether this master is in maintenance mode.</div>
 </td>
 </tr>
-<tr id="i121" class="rowColor">
+<tr id="i122" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isNormalizerOn--">isNormalizerOn</a></span>()</code>
 <div class="block">Queries the state of the <a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper"><code>RegionNormalizerTracker</code></a>.</div>
 </td>
 </tr>
-<tr id="i122" class="altColor">
+<tr id="i123" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isServerCrashProcessingEnabled--">isServerCrashProcessingEnabled</a></span>()</code>
 <div class="block">ServerCrashProcessingEnabled is set false before completing assignMeta to prevent processing
  of crashed servers.</div>
 </td>
 </tr>
-<tr id="i123" class="rowColor">
+<tr id="i124" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isSplitOrMergeEnabled-org.apache.hadoop.hbase.client.MasterSwitchType-">isSplitOrMergeEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a>&nbsp;switchType)</code>
 <div class="block">Queries the state of the <a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeTracker.html" title="class in org.apache.hadoop.hbase.master"><code>SplitOrMergeTracker</code></a>.</div>
 </td>
 </tr>
-<tr id="i124" class="altColor">
+<tr id="i125" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../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/master/HMaster.html#listDecommissionedRegionServers--">listDecommissionedRegionServers</a></span>()</code>
 <div class="block">List region servers marked as decommissioned (previously called 'draining') to not get regions
  assigned to them.</div>
 </td>
 </tr>
-<tr id="i125" class="rowColor">
+<tr id="i126" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listReplicationPeers-java.lang.String-">listReplicationPeers</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex)</code>
 <div class="block">Return a list of replication peers.</div>
 </td>
 </tr>
-<tr id="i126" class="altColor">
+<tr id="i127" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableDescriptors-java.lang.String-java.lang.String-java.util.List-boolean-">listTableDescriptors</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex,
@@ -1136,13 +1142,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Returns the list of table descriptors that match the specified request</div>
 </td>
 </tr>
-<tr id="i127" class="rowColor">
+<tr id="i128" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableDescriptorsByNamespace-java.lang.String-">listTableDescriptorsByNamespace</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get list of table descriptors by namespace</div>
 </td>
 </tr>
-<tr id="i128" class="altColor">
+<tr id="i129" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableNames-java.lang.String-java.lang.String-boolean-">listTableNames</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex,
@@ -1150,24 +1156,24 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Returns the list of table names that match the specified request</div>
 </td>
 </tr>
-<tr id="i129" class="rowColor">
+<tr id="i130" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#listTableNamesByNamespace-java.lang.String-">listTableNamesByNamespace</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get list of table names by namespace</div>
 </td>
 </tr>
-<tr id="i130" class="altColor">
+<tr id="i131" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#login-org.apache.hadoop.hbase.security.UserProvider-java.lang.String-">login</a></span>(<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a>&nbsp;user,
      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host)</code>
 <div class="block">For compatibility, if failed with regionserver credentials, try the master one</div>
 </td>
 </tr>
-<tr id="i131" class="rowColor">
+<tr id="i132" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#main-java.lang.String:A-">main</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>&nbsp;</td>
 </tr>
-<tr id="i132" class="altColor">
+<tr id="i133" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><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,
@@ -1176,7 +1182,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Merge regions in a table.</div>
 </td>
 </tr>
-<tr id="i133" class="rowColor">
+<tr id="i134" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyColumn-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.ColumnFamilyDescriptor-long-long-">modifyColumn</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/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;descriptor,
@@ -1185,7 +1191,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Modify the column descriptor of an existing column in an existing table</div>
 </td>
 </tr>
-<tr id="i134" class="altColor">
+<tr id="i135" class="rowColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-long-long-">modifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;namespaceDescriptor,
                long&nbsp;nonceGroup,
@@ -1193,7 +1199,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Modify an existing Namespace.</div>
 </td>
 </tr>
-<tr id="i135" class="rowColor">
+<tr id="i136" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#modifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-long-long-">modifyTable</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/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;descriptor,
@@ -1202,22 +1208,22 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Modify the descriptor of an existing table</div>
 </td>
 </tr>
-<tr id="i136" class="altColor">
+<tr id="i137" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#move-byte:A-byte:A-">move</a></span>(byte[]&nbsp;encodedRegionName,
     byte[]&nbsp;destServerName)</code>&nbsp;</td>
 </tr>
-<tr id="i137" class="rowColor">
+<tr id="i138" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#normalizeRegions--">normalizeRegions</a></span>()</code>
 <div class="block">Perform normalization of cluster (invoked by <a href="../../../../../org/apache/hadoop/hbase/master/normalizer/RegionNormalizerChore.html" title="class in org.apache.hadoop.hbase.master.normalizer"><code>RegionNormalizerChore</code></a>).</div>
 </td>
 </tr>
-<tr id="i138" class="altColor">
+<tr id="i139" class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#putUpJettyServer--">putUpJettyServer</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i139" class="rowColor">
+<tr id="i140" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#recommissionRegionServer-org.apache.hadoop.hbase.ServerName-java.util.List-">recommissionRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;byte[]&gt;&nbsp;encodedRegionNames)</code>
@@ -1225,43 +1231,43 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
  assignments.</div>
 </td>
 </tr>
-<tr id="i140" class="altColor">
+<tr id="i141" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#recoverMeta--">recoverMeta</a></span>()</code>
 <div class="block">Recover meta table.</div>
 </td>
 </tr>
-<tr id="i141" class="rowColor">
+<tr id="i142" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#registerService-com.google.protobuf.Service-">registerService</a></span>(com.google.protobuf.Service&nbsp;instance)</code>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a coprocessor endpoint to be
  available for handling</div>
 </td>
 </tr>
-<tr id="i142" class="altColor">
+<tr id="i143" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#remoteProcedureCompleted-long-">remoteProcedureCompleted</a></span>(long&nbsp;procId)</code>&nbsp;</td>
 </tr>
-<tr id="i143" class="rowColor">
+<tr id="i144" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#remoteProcedureFailed-long-org.apache.hadoop.hbase.procedure2.RemoteProcedureException-">remoteProcedureFailed</a></span>(long&nbsp;procId,
                      <a href="../../../../../org/apache/hadoop/hbase/procedure2/RemoteProcedureException.html" title="class in org.apache.hadoop.hbase.procedure2">RemoteProcedureException</a>&nbsp;error)</code>&nbsp;</td>
 </tr>
-<tr id="i144" class="altColor">
+<tr id="i145" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#removeReplicationPeer-java.lang.String-">removeReplicationPeer</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Removes a peer and stops the replication</div>
 </td>
 </tr>
-<tr id="i145" class="rowColor">
+<tr id="i146" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reportMobCompactionEnd-org.apache.hadoop.hbase.TableName-">reportMobCompactionEnd</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="i146" class="altColor">
+<tr id="i147" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#reportMobCompactionStart-org.apache.hadoop.hbase.TableName-">reportMobCompactionStart</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="i147" class="rowColor">
+<tr id="i148" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#requestMobCompaction-org.apache.hadoop.hbase.TableName-java.util.List-boolean-">requestMobCompaction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&gt;&nbsp;columns,
@@ -1269,47 +1275,47 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Requests mob compaction.</div>
 </td>
 </tr>
-<tr id="i148" class="altColor">
+<tr id="i149" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#restoreSnapshot-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-long-long-boolean-">restoreSnapshot</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;snapshotDesc,
                long&nbsp;nonceGroup,
                long&nbsp;nonce,
                boolean&nbsp;restoreAcl)</code>&nbsp;</td>
 </tr>
-<tr id="i149" class="rowColor">
+<tr id="i150" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#run--">run</a></span>()</code>
 <div class="block">The HRegionServer sticks in this loop until closed.</div>
 </td>
 </tr>
-<tr id="i150" class="altColor">
+<tr id="i151" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#sanityCheckTableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">sanityCheckTableDescriptor</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd)</code>
 <div class="block">Checks whether the table conforms to some sane limits, and configured
  values (compression, etc) work.</div>
 </td>
 </tr>
-<tr id="i151" class="rowColor">
+<tr id="i152" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setCatalogJanitorEnabled-boolean-">setCatalogJanitorEnabled</a></span>(boolean&nbsp;b)</code>
 <div class="block">Switch for the background CatalogJanitor thread.</div>
 </td>
 </tr>
-<tr id="i152" class="altColor">
+<tr id="i153" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setInitialized-boolean-">setInitialized</a></span>(boolean&nbsp;isInitialized)</code>&nbsp;</td>
 </tr>
-<tr id="i153" class="rowColor">
+<tr id="i154" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#setServerCrashProcessingEnabled-boolean-">setServerCrashProcessingEnabled</a></span>(boolean&nbsp;b)</code>&nbsp;</td>
 </tr>
-<tr id="i154" class="altColor">
+<tr id="i155" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#shutdown--">shutdown</a></span>()</code>
 <div class="block">Shutdown the cluster.</div>
 </td>
 </tr>
-<tr id="i155" class="rowColor">
+<tr id="i156" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><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,
@@ -1318,43 +1324,43 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Split a region.</div>
 </td>
 </tr>
-<tr id="i156" class="altColor">
+<tr id="i157" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#startActiveMasterManager-int-">startActiveMasterManager</a></span>(int&nbsp;infoPort)</code>&nbsp;</td>
 </tr>
-<tr id="i157" class="rowColor">
+<tr id="i158" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#startProcedureExecutor--">startProcedureExecutor</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i158" class="altColor">
+<tr id="i159" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#startServiceThreads--">startServiceThreads</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i159" class="rowColor">
+<tr id="i160" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stop-java.lang.String-">stop</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>
 <div class="block">Stop this service.</div>
 </td>
 </tr>
-<tr id="i160" class="altColor">
+<tr id="i161" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopChores--">stopChores</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i161" class="rowColor">
+<tr id="i162" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopMaster--">stopMaster</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i162" class="altColor">
+<tr id="i163" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopProcedureExecutor--">stopProcedureExecutor</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i163" class="rowColor">
+<tr id="i164" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopServiceThreads--">stopServiceThreads</a></span>()</code>
 <div class="block">Wait on all threads to finish.</div>
 </td>
 </tr>
-<tr id="i164" class="altColor">
+<tr id="i165" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#truncateTable-org.apache.hadoop.hbase.TableName-boolean-long-long-">truncateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
              boolean&nbsp;preserveSplits,
@@ -1363,32 +1369,32 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <div class="block">Truncate a table</div>
 </td>
 </tr>
-<tr id="i165" class="rowColor">
+<tr id="i166" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#updateConfigurationForSpaceQuotaObserver-org.apache.hadoop.conf.Configuration-">updateConfigurationForSpaceQuotaObserver</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
 <div class="block">Adds the <code>MasterSpaceQuotaObserver</code> to the list of configured Master observers to
  automatically remove space quotas for a table when that table is deleted.</div>
 </td>
 </tr>
-<tr id="i166" class="altColor">
+<tr id="i167" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#updateReplicationPeerConfig-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">updateReplicationPeerConfig</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
                            <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>&nbsp;peerConfig)</code>
 <div class="block">Update the peerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i167" class="rowColor">
+<tr id="i168" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#waitForMasterActive--">waitForMasterActive</a></span>()</code>
 <div class="block">If configured to put regions on active master,
  wait till a backup master becomes active.</div>
 </td>
 </tr>
-<tr id="i168" class="altColor">
+<tr id="i169" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#waitForRegionServers-org.apache.hadoop.hbase.monitoring.MonitoredTask-">waitForRegionServers</a></span>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)</code>&nbsp;</td>
 </tr>
-<tr id="i169" class="rowColor">
+<tr id="i170" class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#warnOrThrowExceptionForFailure-boolean-java.lang.String-java.lang.String-java.lang.Exception-">warnOrThrowExceptionForFailure</a></span>(boolean&nbsp;logWarn,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;confKey,
@@ -1465,7 +1471,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.233">LOG</a></pre>
+<pre>private static&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.237">LOG</a></pre>
 </li>
 </ul>
 <a name="MASTER">
@@ -1474,7 +1480,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>MASTER</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.289">MASTER</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.293">MASTER</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.MASTER">Constant Field Values</a></dd>
@@ -1487,7 +1493,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>activeMasterManager</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ActiveMasterManager.html" title="class in org.apache.hadoop.hbase.master">ActiveMasterManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.292">activeMasterManager</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ActiveMasterManager.html" title="class in org.apache.hadoop.hbase.master">ActiveMasterManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.296">activeMasterManager</a></pre>
 </li>
 </ul>
 <a name="regionServerTracker">
@@ -1496,7 +1502,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServerTracker</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/master/RegionServerTracker.html" title="class in org.apache.hadoop.hbase.master">RegionServerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.294">regionServerTracker</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/master/RegionServerTracker.html" title="class in org.apache.hadoop.hbase.master">RegionServerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.298">regionServerTracker</a></pre>
 </li>
 </ul>
 <a name="drainingServerTracker">
@@ -1505,7 +1511,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>drainingServerTracker</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/DrainingServerTracker.html" title="class in org.apache.hadoop.hbase.master">DrainingServerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.296">drainingServerTracker</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/DrainingServerTracker.html" title="class in org.apache.hadoop.hbase.master">DrainingServerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.300">drainingServerTracker</a></pre>
 </li>
 </ul>
 <a name="loadBalancerTracker">
@@ -1514,7 +1520,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>loadBalancerTracker</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/zookeeper/LoadBalancerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">LoadBalancerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.298">loadBalancerTracker</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/zookeeper/LoadBalancerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">LoadBalancerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.302">loadBalancerTracker</a></pre>
 </li>
 </ul>
 <a name="splitOrMergeTracker">
@@ -1523,7 +1529,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>splitOrMergeTracker</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeTracker.html" title="class in org.apache.hadoop.hbase.master">SplitOrMergeTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.301">splitOrMergeTracker</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeTracker.html" title="class in org.apache.hadoop.hbase.master">SplitOrMergeTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.305">splitOrMergeTracker</a></pre>
 </li>
 </ul>
 <a name="regionNormalizerTracker">
@@ -1532,7 +1538,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>regionNormalizerTracker</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">RegionNormalizerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.304">regionNormalizerTracker</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">RegionNormalizerTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.308">regionNormalizerTracker</a></pre>
 </li>
 </ul>
 <a name="maintenanceModeTracker">
@@ -1541,7 +1547,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>maintenanceModeTracker</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterMaintenanceModeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">MasterMaintenanceModeTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.307">maintenanceModeTracker</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/MasterMaintenanceModeTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">MasterMaintenanceModeTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.311">maintenanceModeTracker</a></pre>
 </li>
 </ul>
 <a name="clusterSchemaService">
@@ -1550,7 +1556,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>clusterSchemaService</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchemaService.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchemaService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.309">clusterSchemaService</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchemaService.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchemaService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.313">clusterSchemaService</a></pre>
 </li>
 </ul>
 <a name="HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS">
@@ -1559,7 +1565,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.311">HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.315">HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.HBASE_MASTER_WAIT_ON_SERVICE_IN_SECONDS">Constant Field Values</a></dd>
@@ -1572,7 +1578,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServ

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/class-use/CompareOperator.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/CompareOperator.html b/devapidocs/org/apache/hadoop/hbase/class-use/CompareOperator.html
index b063e82..31595fa 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/CompareOperator.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/CompareOperator.html
@@ -595,26 +595,24 @@ the order they are declared.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Region.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-boolean-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
+<td class="colLast"><span class="typeNameLabel">Region.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
                  byte[]&nbsp;family,
                  byte[]&nbsp;qualifier,
                  <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                  <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
-                 <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations,
-                 boolean&nbsp;writeToWAL)</code>
+                 <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)</code>
 <div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
  it performs the row mutations.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-boolean-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
                  byte[]&nbsp;family,
                  byte[]&nbsp;qualifier,
                  <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                  <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
-                 <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm,
-                 boolean&nbsp;writeToWAL)</code>&nbsp;</td>
+                 <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
@@ -633,14 +631,13 @@ the order they are declared.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-org.apache.hadoop.hbase.client.Mutation-boolean-">doCheckAndRowMutate</a></span>(byte[]&nbsp;row,
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-org.apache.hadoop.hbase.client.Mutation-">doCheckAndRowMutate</a></span>(byte[]&nbsp;row,
                    byte[]&nbsp;family,
                    byte[]&nbsp;qualifier,
                    <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                    <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                    <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rowMutations,
-                   <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
-                   boolean&nbsp;writeToWAL)</code>
+                   <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
 <div class="block">checkAndMutate and checkAndRowMutate are 90% the same.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/class-use/KeepDeletedCells.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/KeepDeletedCells.html b/devapidocs/org/apache/hadoop/hbase/class-use/KeepDeletedCells.html
index d9fc025..9dde4fe 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/KeepDeletedCells.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/KeepDeletedCells.html
@@ -239,6 +239,10 @@ the order they are declared.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CustomizedScanInfoBuilder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#keepDeletedCells">keepDeletedCells</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ScanInfo.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html#keepDeletedCells">keepDeletedCells</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -252,10 +256,43 @@ the order they are declared.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a></code></td>
+<td class="colLast"><span class="typeNameLabel">CustomizedScanInfoBuilder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#getKeepDeletedCells--">getKeepDeletedCells</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ScanOptions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html#getKeepDeletedCells--">getKeepDeletedCells</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a></code></td>
 <td class="colLast"><span class="typeNameLabel">ScanInfo.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html#getKeepDeletedCells--">getKeepDeletedCells</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/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</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/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ScanInfo.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html#customize-int-long-org.apache.hadoop.hbase.KeepDeletedCells-">customize</a></span>(int&nbsp;maxVersions,
+         long&nbsp;ttl,
+         <a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;keepDeletedCells)</code>
+<div class="block">Used for CP users for customizing max versions, ttl and keepDeletedCells.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CustomizedScanInfoBuilder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html#setKeepDeletedCells-org.apache.hadoop.hbase.KeepDeletedCells-">setKeepDeletedCells</a></span>(<a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;keepDeletedCells)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ScanOptions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html#setKeepDeletedCells-org.apache.hadoop.hbase.KeepDeletedCells-">setKeepDeletedCells</a></span>(<a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a>&nbsp;keepDeletedCells)</code>&nbsp;</td>
+</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/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase">KeepDeletedCells</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 366eab4..c863ce9 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/Server.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/Server.html
@@ -407,11 +407,11 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ReplicationService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">initialize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;rs,
+<td class="colLast"><span class="typeNameLabel">ReplicationService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">initialize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;rs,
           org.apache.hadoop.fs.FileSystem&nbsp;fs,
           org.apache.hadoop.fs.Path&nbsp;logdir,
           org.apache.hadoop.fs.Path&nbsp;oldLogDir,
-          <a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a>&nbsp;walFileLengthProvider)</code>
+          <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)</code>
 <div class="block">Initializes the replication service object.</div>
 </td>
 </tr>
@@ -645,11 +645,11 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Replication.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">initialize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
+<td class="colLast"><span class="typeNameLabel">Replication.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#initialize-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.wal.WALProvider-">initialize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
           org.apache.hadoop.fs.FileSystem&nbsp;fs,
           org.apache.hadoop.fs.Path&nbsp;logDir,
           org.apache.hadoop.fs.Path&nbsp;oldLogDir,
-          <a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/WALFileLengthProvider.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">WALFileLengthProvider</a>&nbsp;walFileLengthProvider)</code>&nbsp;</td>
+          <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a>&nbsp;walProvider)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -660,14 +660,6 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/Replication.html#Replication-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-">Replication</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
-           org.apache.hadoop.fs.FileSystem&nbsp;fs,
-           org.apache.hadoop.fs.Path&nbsp;logDir,
-           org.apache.hadoop.fs.Path&nbsp;oldLogDir)</code>
-<div class="block">Instantiate the replication management (if rep is enabled).</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.html#ReplicationSourceManager-org.apache.hadoop.hbase.replication.ReplicationQueueStorage-org.apache.hadoop.hbase.replication.ReplicationPeers-org.apache.hadoop.hbase.replication.ReplicationTracker-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.Server-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path-java.util.UUID-org.apache.hadoop.hbase.replication.regionserver.WALFileLengthProvider-">ReplicationSourceManager</a></span>(<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a>&nbsp;queueStorage,
                         <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a>&nbsp;replicationPeers,
                         <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationTracker.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationTracker</a>&nbsp;replicationTracker,

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 0d20020..31bd7a0 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -11057,11 +11057,11 @@ service.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
-<td class="colLast"><span class="typeNameLabel">WALKeyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getTablename--">getTablename</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">WALKeyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html#getTableName--">getTableName</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>
-<td class="colLast"><span class="typeNameLabel">WALKey.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getTablename--">getTablename</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">WALKey.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html#getTableName--">getTableName</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a></code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/client/RowMutations.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/RowMutations.html b/devapidocs/org/apache/hadoop/hbase/client/RowMutations.html
index 142fc09..d72e0ed 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/RowMutations.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/RowMutations.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":42,"i3":42,"i4":10,"i5":10,"i6":10,"i7":42,"i8":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var methods = {"i0":42,"i1":10,"i2":10,"i3":42,"i4":42,"i5":42,"i6":10,"i7":10,"i8":10,"i9":42,"i10":9};
+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";
 var tableTab = "tableTab";
@@ -191,7 +191,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 </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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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>
@@ -199,16 +199,34 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <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/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Delete-">add</a></span>(<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">Add a <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> operation to the list of mutations</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>add(Mutation)</code></a></span></div>
+</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-java.util.List-">add</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Currently only supports <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-">add</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
+<div class="block">Currently only supports <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Put-">add</a></span>(<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">Add a <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> operation to the list of mutations</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>add(Mutation)</code></a></span></div>
+</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<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/client/RowMutations.html#compareTo-org.apache.hadoop.hbase.client.Row-">compareTo</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;i)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -217,7 +235,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 </div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#equals-java.lang.Object-">equals</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -226,19 +244,19 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 </div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<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/client/RowMutations.html#getMaxPriority--">getMaxPriority</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#getMutations--">getMutations</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#getRow--">getRow</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#hashCode--">hashCode</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -247,9 +265,11 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 </div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#internalAdd-org.apache.hadoop.hbase.client.Mutation-">internalAdd</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;m)</code>&nbsp;</td>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#of-java.util.List-">of</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Create a <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client"><code>RowMutations</code></a> with the specified mutations.</div>
+</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -279,7 +299,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>mutations</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.41">mutations</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.56">mutations</a></pre>
 </li>
 </ul>
 <a name="row">
@@ -288,7 +308,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>row</h4>
-<pre>private final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.42">row</a></pre>
+<pre>private final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.57">row</a></pre>
 </li>
 </ul>
 </li>
@@ -305,7 +325,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>RowMutations</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.44">RowMutations</a>(byte[]&nbsp;row)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.59">RowMutations</a>(byte[]&nbsp;row)</pre>
 </li>
 </ul>
 <a name="RowMutations-byte:A-int-">
@@ -314,7 +334,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RowMutations</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.52">RowMutations</a>(byte[]&nbsp;row,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.67">RowMutations</a>(byte[]&nbsp;row,
                     int&nbsp;initialCapacity)</pre>
 <div class="block">Create an atomic mutation for the specified row.</div>
 <dl>
@@ -332,20 +352,42 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="of-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>of</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.48">of</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations)
+                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Create a <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client"><code>RowMutations</code></a> with the specified mutations.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mutations</code> - the mutations to send</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>RowMutations</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if any row in mutations is different to another</dd>
+</dl>
+</li>
+</ul>
 <a name="add-org.apache.hadoop.hbase.client.Put-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>add</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.67">add</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)
-         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.84">add</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)
+                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>add(Mutation)</code></a></span></div>
 <div class="block">Add a <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> operation to the list of mutations</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>p</code> - The <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> to add</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the row of added mutation doesn't match the original row</dd>
 </dl>
 </li>
 </ul>
@@ -355,28 +397,51 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>add</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.76">add</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;d)
-         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.96">add</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;d)
+                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>add(Mutation)</code></a></span></div>
 <div class="block">Add a <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> operation to the list of mutations</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>d</code> - The <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> to add</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the row of added mutation doesn't match the original row</dd>
 </dl>
 </li>
 </ul>
-<a name="internalAdd-org.apache.hadoop.hbase.client.Mutation-">
+<a name="add-org.apache.hadoop.hbase.client.Mutation-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>internalAdd</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.80">internalAdd</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;m)
-                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<h4>add</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.106">add</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Currently only supports <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
 <dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mutation</code> - The data to send.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the row of added mutation doesn't match the original row</dd>
+</dl>
+</li>
+</ul>
+<a name="add-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.116">add</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations)
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Currently only supports <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mutations</code> - The data to send.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the row of added mutation doesn't match the original row</dd>
 </dl>
 </li>
 </ul>
@@ -387,7 +452,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" titl
 <li class="blockList">
 <h4>compareTo</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.96">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;i)</pre>
+public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.134">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;i)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              Use <a href="../../../../../org/apache/hadoop/hbase/client/Row.html#COMPARATOR"><code>Row.COMPARATOR</code></a> instead</span></div>
 <dl>
@@ -405,7 +470,7 @@ public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/cl
 <li class="blockList">
 <h4>equals</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.106">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.144">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              No replacement</span></div>
 <dl>
@@ -421,7 +486,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <li class="blockList">
 <h4>hashCode</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.121">hashCode</a>()</pre>
+public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.159">hashCode</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
              No replacement</span></div>
 <dl>
@@ -436,7 +501,7 @@ public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/cl
 <ul class="blockList">
 <li class="blockList">
 <h4>getRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.126">getRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.164">getRow</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/Row.html#getRow--">getRow</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a></code></dd>
@@ -451,7 +516,7 @@ public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/cl
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutations</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.133">getMutations</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.171">getMutations</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>An unmodifiable list of the current mutations.</dd>
@@ -464,7 +529,7 @@ public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/cl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getMaxPriority</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.137">getMaxPriority</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/RowMutations.html#line.175">getMaxPriority</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/client/class-use/Delete.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Delete.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Delete.html
index dcb4ab0..c233c17 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Delete.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Delete.html
@@ -397,7 +397,10 @@ service.</div>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Delete-">add</a></span>(<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">Add a <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> operation to the list of mutations</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>RowMutations.add(Mutation)</code></a></span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 c76cc2e..597d1ba 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Mutation.html
@@ -344,12 +344,14 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>(package private) static void</code></td>
-<td class="colLast"><span class="typeNameLabel">ConnectionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionUtils.html#checkHasFamilies-org.apache.hadoop.hbase.client.Mutation-">checkHasFamilies</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-">add</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
+<div class="block">Currently only supports <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#internalAdd-org.apache.hadoop.hbase.client.Mutation-">internalAdd</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;m)</code>&nbsp;</td>
+<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectionUtils.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/ConnectionUtils.html#checkHasFamilies-org.apache.hadoop.hbase.client.Mutation-">checkHasFamilies</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -381,25 +383,37 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-java.util.List-">add</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Currently only supports <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BufferedMutator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/BufferedMutator.html#mutate-java.util.List-">mutate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Send some <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client"><code>Mutation</code></a>s to the table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncBufferedMutatorImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutatorImpl.html#mutate-java.util.List-">mutate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? 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="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BufferedMutatorImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/BufferedMutatorImpl.html#mutate-java.util.List-">mutate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;ms)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AsyncBufferedMutator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncBufferedMutator.html#mutate-java.util.List-">mutate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Send some <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client"><code>Mutation</code></a>s to the table.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#of-java.util.List-">of</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Create a <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client"><code>RowMutations</code></a> with the specified mutations.</div>
+</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -865,14 +879,13 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-org.apache.hadoop.hbase.client.Mutation-boolean-">doCheckAndRowMutate</a></span>(byte[]&nbsp;row,
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-org.apache.hadoop.hbase.client.Mutation-">doCheckAndRowMutate</a></span>(byte[]&nbsp;row,
                    byte[]&nbsp;family,
                    byte[]&nbsp;qualifier,
                    <a href="../../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                    <a href="../../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                    <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rowMutations,
-                   <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
-                   boolean&nbsp;writeToWAL)</code>
+                   <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
 <div class="block">checkAndMutate and checkAndRowMutate are 90% the same.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 c2adce1..4c96d78 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Put.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Put.html
@@ -612,7 +612,10 @@ service.</div>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Put-">add</a></span>(<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">Add a <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> operation to the list of mutations</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">since 2.0 version and will be removed in 3.0 version.
+             use <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-"><code>RowMutations.add(Mutation)</code></a></span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
index 4d9faad..c698ca0 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/RowMutations.html
@@ -113,6 +113,33 @@ service.</div>
 </a>
 <h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a> in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a> that return <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</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/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-java.util.List-">add</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Currently only supports <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#add-org.apache.hadoop.hbase.client.Mutation-">add</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
+<div class="block">Currently only supports <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client"><code>Delete</code></a> mutations.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RowMutations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html#of-java.util.List-">of</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <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">Create a <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client"><code>RowMutations</code></a> with the specified mutations.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -259,37 +286,34 @@ service.</div>
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Region.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-boolean-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
+<td class="colLast"><span class="typeNameLabel">Region.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
                  byte[]&nbsp;family,
                  byte[]&nbsp;qualifier,
                  <a href="../../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                  <a href="../../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
-                 <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations,
-                 boolean&nbsp;writeToWAL)</code>
+                 <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;mutations)</code>
 <div class="block">Atomically checks if a row/family/qualifier value matches the expected values and if it does,
  it performs the row mutations.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-boolean-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#checkAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-">checkAndRowMutate</a></span>(byte[]&nbsp;row,
                  byte[]&nbsp;family,
                  byte[]&nbsp;qualifier,
                  <a href="../../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                  <a href="../../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
-                 <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm,
-                 boolean&nbsp;writeToWAL)</code>&nbsp;</td>
+                 <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-org.apache.hadoop.hbase.client.Mutation-boolean-">doCheckAndRowMutate</a></span>(byte[]&nbsp;row,
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doCheckAndRowMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-org.apache.hadoop.hbase.client.RowMutations-org.apache.hadoop.hbase.client.Mutation-">doCheckAndRowMutate</a></span>(byte[]&nbsp;row,
                    byte[]&nbsp;family,
                    byte[]&nbsp;qualifier,
                    <a href="../../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                    <a href="../../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                    <a href="../../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rowMutations,
-                   <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
-                   boolean&nbsp;writeToWAL)</code>
+                   <a href="../../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)</code>
 <div class="block">checkAndMutate and checkAndRowMutate are 90% the same.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 94a410a..80d0716 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="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/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/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/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/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/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/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/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/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/CompactionState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactionState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/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/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/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/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/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/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.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/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/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/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
 </ul>
 </li>
 </ul>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
index b8e6dfa..7b512ba 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
@@ -28,8473 +28,8472 @@
 <span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.HConstants.REPLICATION_SCOPE_LOCAL;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.regionserver.HStoreFile.MAJOR_COMPACTION_KEY;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import static org.apache.hadoop.hbase.util.CollectionUtils.computeIfAbsent;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.EOFException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.FileNotFoundException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.io.InterruptedIOException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.lang.reflect.Constructor;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.nio.ByteBuffer;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.nio.charset.StandardCharsets;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.text.ParseException;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.AbstractList;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.ArrayList;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.Arrays;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.Collection;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.Collections;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.HashMap;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.util.HashSet;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.Iterator;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.List;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.Map;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.Map.Entry;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.NavigableMap;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.NavigableSet;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.Optional;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.RandomAccess;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.Set;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.TreeMap;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.UUID;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.Callable;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.CompletionService;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.ConcurrentMap;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.ExecutionException;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.ExecutorCompletionService;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import java.util.concurrent.ExecutorService;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import java.util.concurrent.Executors;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import java.util.concurrent.Future;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import java.util.concurrent.FutureTask;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import java.util.concurrent.ThreadFactory;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import java.util.concurrent.ThreadPoolExecutor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import java.util.concurrent.TimeUnit;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import java.util.concurrent.TimeoutException;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import java.util.concurrent.atomic.LongAdder;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import java.util.concurrent.locks.Lock;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import java.util.concurrent.locks.ReadWriteLock;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import java.util.function.Function;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.conf.Configuration;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.fs.FileStatus;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.fs.FileSystem;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.fs.Path;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.Cell;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.CellBuilderType;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.CellComparatorImpl;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.CompoundConfiguration;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.ExtendedCellBuilderFactory;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.HConstants;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.HConstants.OperationStatusCode;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.HDFSBlocksDistribution;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.RegionTooBusyException;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.TableName;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.Tag;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.TagUtil;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.client.Append;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.client.CompactionState;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.client.Get;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.client.IsolationLevel;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.client.PackagePrivateFieldAccessor;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.client.Put;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.client.Result;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.conf.ConfigurationManager;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.conf.PropagatingConfigurationObserver;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.errorhandling.ForeignExceptionSnare;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.exceptions.TimeoutIOException;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.exceptions.UnknownProtocolException;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.filter.FilterWrapper;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.filter.IncompatibleFilterException;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.io.HFileLink;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.io.TimeRange;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.ipc.CallerDisconnectedException;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.ipc.RpcCall;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.monitoring.MonitoredTask;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.NextState;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.regionserver.compactions.CompactionLifeCycleTracker;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.regionserver.throttle.CompactionThroughputControllerFactory;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.regionserver.throttle.NoLimitThroughputController;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.regionserver.throttle.ThroughputController;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.regionserver.wal.WALUtil;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.security.User;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hbase.thirdparty.com.google.common.collect.Lists;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hbase.thirdparty.com.google.common.collect.Maps;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hbase.thirdparty.com.google.common.io.Closeables;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hbase.thirdparty.com.google.protobuf.Service;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hbase.thirdparty.com.google.protobuf.TextFormat;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceCall;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.StoreSequenceId;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor.FlushAction;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor.StoreFlushDescriptor;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor.EventType;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.StoreDescriptor;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.SnapshotManifest;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.trace.TraceUtil;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.CollectionUtils;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.CompressionTest;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.EncryptionTest;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.HashedBytes;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.NonceKey;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.wal.WALEdit;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.wal.WALKeyImpl;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.wal.WALSplitter.MutationReplay;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.apache.hadoop.io.MultipleIOException;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.apache.hadoop.util.StringUtils;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.apache.htrace.core.TraceScope;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.slf4j.Logger;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.slf4j.LoggerFactory;<a name="line.201"></a>
-<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span>import edu.umd.cs.findbugs.annotations.Nullable;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>/**<a name="line.205"></a>
-<span class="sourceLineNo">206</span> * Regions store data for a certain region of a table.  It stores all columns<a name="line.206"></a>
-<span class="sourceLineNo">207</span> * for each row. A given table consists of one or more Regions.<a name="line.207"></a>
-<span class="sourceLineNo">208</span> *<a name="line.208"></a>
-<span class="sourceLineNo">209</span> * &lt;p&gt;An Region is defined by its table and its key extent.<a name="line.209"></a>
-<span class="sourceLineNo">210</span> *<a name="line.210"></a>
-<span class="sourceLineNo">211</span> * &lt;p&gt;Locking at the Region level serves only one purpose: preventing the<a name="line.211"></a>
-<span class="sourceLineNo">212</span> * region from being closed (and consequently split) while other operations<a name="line.212"></a>
-<span class="sourceLineNo">213</span> * are ongoing. Each row level operation obtains both a row lock and a region<a name="line.213"></a>
-<span class="sourceLineNo">214</span> * read lock for the duration of the operation. While a scanner is being<a name="line.214"></a>
-<span class="sourceLineNo">215</span> * constructed, getScanner holds a read lock. If the scanner is successfully<a name="line.215"></a>
-<span class="sourceLineNo">216</span> * constructed, it holds a read lock until it is closed. A close takes out a<a name="line.216"></a>
-<span class="sourceLineNo">217</span> * write lock and consequently will block for ongoing operations and will block<a name="line.217"></a>
-<span class="sourceLineNo">218</span> * new operations from starting while the close is in progress.<a name="line.218"></a>
-<span class="sourceLineNo">219</span> */<a name="line.219"></a>
-<span class="sourceLineNo">220</span>@SuppressWarnings("deprecation")<a name="line.220"></a>
-<span class="sourceLineNo">221</span>@InterfaceAudience.Private<a name="line.221"></a>
-<span class="sourceLineNo">222</span>public class HRegion implements HeapSize, PropagatingConfigurationObserver, Region {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  private static final Logger LOG = LoggerFactory.getLogger(HRegion.class);<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  public static final String LOAD_CFS_ON_DEMAND_CONFIG_KEY =<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    "hbase.hregion.scan.loadColumnFamiliesOnDemand";<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  public static final String HBASE_MAX_CELL_SIZE_KEY = "hbase.server.keyvalue.maxsize";<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  public static final int DEFAULT_MAX_CELL_SIZE = 10485760;<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>  public static final String HBASE_REGIONSERVER_MINIBATCH_SIZE =<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      "hbase.regionserver.minibatch.size";<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public static final int DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE = 20000;<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>   * This is the global default value for durability. All tables/mutations not<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * defining a durability or using USE_DEFAULT will default to this value.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private static final Durability DEFAULT_DURABILITY = Durability.SYNC_WAL;<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  final AtomicBoolean closed = new AtomicBoolean(false);<a name="line.241"></a>
-<span class="sourceLineNo">242</span><a name="line.242"></a>
-<span class="sourceLineNo">243</span>  /* Closing can take some time; use the closing flag if there is stuff we don't<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * want to do while in closing state; e.g. like offer this region up to the<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * master as a region to close if the carrying regionserver is overloaded.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * Once set, it is never cleared.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  final AtomicBoolean closing = new AtomicBoolean(false);<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>   * The max sequence id of flushed data on this region. There is no edit in memory that is<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * less that this sequence id.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  private volatile long maxFlushedSeqId = HConstants.NO_SEQNUM;<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>   * Record the sequence id of last flush operation. Can be in advance of<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * {@link #maxFlushedSeqId} when flushing a single column family. In this case,<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * {@link #maxFlushedSeqId} will be older than the oldest edit in memory.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private volatile long lastFlushOpSeqId = HConstants.NO_SEQNUM;<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * The sequence id of the last replayed open region event from the primary region. This is used<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * to skip entries before this due to the possibility of replay edits coming out of order from<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   * replication.<a name="line.266"></a>
-<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  protected volatile long lastReplayedOpenRegionSeqId = -1L;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>  protected volatile long lastReplayedCompactionSeqId = -1L;<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>  // Members<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  // map from a locked row to the context for that lock including:<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  // - CountDownLatch for threads waiting on that row<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  // - the thread that owns the lock (allow reentrancy)<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  // - reference count of (reentrant) locks held by the thread<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  // - the row itself<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  private final ConcurrentHashMap&lt;HashedBytes, RowLockContext&gt; lockedRows =<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      new ConcurrentHashMap&lt;&gt;();<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  protected final Map&lt;byte[], HStore&gt; stores =<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      new ConcurrentSkipListMap&lt;&gt;(Bytes.BYTES_RAWCOMPARATOR);<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  // TODO: account for each registered handler in HeapSize computation<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private Map&lt;String, com.google.protobuf.Service&gt; coprocessorServiceHandlers = Maps.newHashMap();<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  private final AtomicLong memstoreDataSize = new AtomicLong(0);// Track data size in all memstores<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  private final RegionServicesForStores regionServicesForStores = new RegionServicesForStores(this);<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>  // Debug possible data loss due to WAL off<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  final LongAdder numMutationsWithoutWAL = new LongAdder();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  final LongAdder dataInMemoryWithoutWAL = new LongAdder();<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>  // Debug why CAS operations are taking a while.<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  final LongAdder checkAndMutateChecksPassed = new LongAdder();<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  final LongAdder checkAndMutateChecksFailed = new LongAdder();<a name="line.298"></a>
-<span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>  // Number of requests<a name="line.300"></a>
-<span class="sourceLineNo">301</span>  // Count rows for scan<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  final LongAdder readRequestsCount = new LongAdder();<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  final LongAdder filteredReadRequestsCount = new LongAdder();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  // Count rows for multi row mutations<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  final LongAdder writeRequestsCount = new LongAdder();<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  // Number of requests blocked by memstore size.<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  private final LongAdder blockedRequestsCount = new LongAdder();<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>  // Compaction LongAdders<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  final LongAdder compactionsFinished = new LongAdder();<a name="line.311"></a>
-<span class="sourceLineNo">312</span>  final LongAdder compactionsFailed = new LongAdder();<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  final LongAdder compactionNumFilesCompacted = new LongAdder();<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  final LongAdder compactionNumBytesCompacted = new LongAdder();<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  final LongAdder compactionsQueued = new LongAdder();<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  final LongAdder flushesQueued = new LongAdder();<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>  private final WAL wal;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  private final HRegionFileSystem fs;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  protected final Configuration conf;<a name="line.320"></a>
-<span class="sourceLineNo">321</span>  private final Configuration baseConf;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  private final int rowLockWaitDuration;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  static final int DEFAULT_ROWLOCK_WAIT_DURATION = 30000;<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>  // The internal wait duration to acquire a lock before read/update<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  // from the region. It is not per row. The purpose of this wait time<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  // is to avoid waiting a long time while the region is busy, so that<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  // we can release the IPC handler soon enough to improve the<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  // availability of the region server. It can be adjusted by<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  // tuning configuration "hbase.busy.wait.duration".<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  final long busyWaitDuration;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  static final long DEFAULT_BUSY_WAIT_DURATION = HConstants.DEFAULT_HBASE_RPC_TIMEOUT;<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span>  // If updating multiple rows in one call, wait longer,<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  // i.e. waiting for busyWaitDuration * # of rows. However,<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  // we can limit the max multiplier.<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  final int maxBusyWaitMultiplier;<a name="line.337"></a>
-<span class="sourceLineNo">338</span><a name="line.338"></a>
-<span class="sourceLineNo">339</span>  // Max busy wait duration. There is no point to wait longer than the RPC<a name="line.339"></a>
-<span class="sourceLineNo">340</span>  // purge timeout, when a RPC call will be terminated by the RPC engine.<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  final long maxBusyWaitDuration;<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  // Max cell size. If nonzero, the maximum allowed size for any given cell<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  // in bytes<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  final long maxCellSize;<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>  // Number of mutations for minibatch processing.<a name="line.347"></a>
-<span class="sourceLineNo">348</span>  private final int miniBatchSize;<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>  // negative number indicates infinite timeout<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  static final long DEFAULT_ROW_PROCESSOR_TIMEOUT = 60 * 1000L;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  final ExecutorService rowProcessorExecutor = Executors.newCachedThreadPool();<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  private final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<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>   * The sequence ID that was enLongAddered when this region was opened.<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   */<a name="line.358"></a>
-<span class="sourceLineNo">359</span>  private long openSeqNum = HConstants.NO_SEQNUM;<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>   * The default setting for whether to enable on-demand CF loading for<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * scan requests to this region. Requests can override it.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   */<a name="line.364"></a>
-<span class="sourceLineNo">365</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.365"></a>
-<span class="sourceLineNo">366</span><a name="line.366"></a>
-<span class="sourceLineNo">367</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<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>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  // are equal to or lower than maxSeqId for each store.<a name="line.374"></a>
-<span class="sourceLineNo">375</span>  // The following map is populated when opening the region<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>  /** Saved state from replaying prepare flush cache */<a name="line.378"></a>
-<span class="sourceLineNo">379</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.379"></a>
-<span class="sourceLineNo">380</span><a name="line.380"></a>
-<span class="sourceLineNo">381</span>  private volatile Optional&lt;ConfigurationManager&gt; configurationManager;<a name="line.381"></a>
-<span class="sourceLineNo">382</span><a name="line.382"></a>
-<span class="sourceLineNo">383</span>  // Used for testing.<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  private volatile Long timeoutForWriteLock = null;<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  /**<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   * @return The smallest mvcc readPoint across all the scanners in this<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * region. Writes older than this readPoint, are included in every<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * read operation.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   */<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  public long getSmallestReadPoint() {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    long minimumReadPoint;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    synchronized (scannerReadPoints) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      for (Long readPoint : this.scannerReadPoints.values()) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>          minimumReadPoint = readPoint;<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>    return minimumReadPoint;<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>   * Data structure of write state flags used coordinating flushes,<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * compactions and closes.<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   */<a name="line.410"></a>
-<span class="sourceLineNo">411</span>  static class WriteState {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    // Set while a memstore flush is happening.<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    volatile boolean flushing = false;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    // Set when a flush has been requested.<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    volatile boolean flushRequested = false;<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    // Number of compactions running.<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    AtomicInteger compacting = new AtomicInteger(0);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    // Gets set in close. If set, cannot compact or flush again.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    volatile boolean writesEnabled = true;<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    // Set if region is read-only<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    volatile boolean readOnly = false;<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    // whether the reads are enabled. This is different than readOnly, because readOnly is<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    // static in the lifetime of the region, while readsEnabled is dynamic<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    volatile boolean readsEnabled = true;<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>     * Set flags that make this region read-only.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>     *<a name="line.428"></a>
-<span class="sourceLineNo">429</span>     * @param onOff flip value for region r/o setting<a name="line.429"></a>
-<span class="sourceLineNo">430</span>     */<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    synchronized void setReadOnly(final boolean onOff) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      this.writesEnabled = !onOff;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      this.readOnly = onOff;<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>    boolean isReadOnly() {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      return this.readOnly;<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>    boolean isFlushRequested() {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      return this.flushRequested;<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>    void setReadsEnabled(boolean readsEnabled) {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      this.readsEnabled = readsEnabled;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    }<a name="line.446"></a>
-<span class="sourceLineNo">447</span><a name="line.447"></a>
-<span class="sourceLineNo">448</span>    static final long HEAP_SIZE = ClassSize.align(<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        ClassSize.OBJECT + 5 * Bytes.SIZEOF_BOOLEAN);<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>  /**<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   * Objects from this class are created when flushing to describe all the different states that<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * that method ends up in. The Result enum describes those states. The sequence id should only<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   * be specified if the flush was successful, and the failure message should only be specified<a name="line.455"></a>
-<span class="sourceLineNo">456</span>   * if it didn't flush.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>   */<a name="line.457"></a>
-<span class="sourceLineNo">458</span>  public static class FlushResultImpl implements FlushResult {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    final Result result;<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    final String failureReason;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    final long flushSequenceId;<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    final boolean wroteFlushWalMarker;<a name="line.462"></a>
-<span class="sourceLineNo">463</span><a name="line.463"></a>
-<span class="sourceLineNo">464</span>    /**<a name="line.464"></a>
-<span class="sourceLineNo">465</span>     * Convenience constructor to use when the flush is successful, the failure message is set to<a name="line.465"></a>
-<span class="sourceLineNo">466</span>     * null.<a name="line.466"></a>
-<span class="sourceLineNo">467</span>     * @param result Expecting FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_COMPACTION_NEEDED.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @param flushSequenceId Generated sequence id that comes right after the edits in the<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     *                        memstores.<a name="line.469"></a>
-<span class="sourceLineNo">470</span>     */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    FlushResultImpl(Result result, long flushSequenceId) {<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      this(result, flushSequenceId, null, false);<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      assert result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.473"></a>
-<span class="sourceLineNo">474</span>          .FLUSHED_COMPACTION_NEEDED;<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>     * Convenience constructor to use when we cannot flush.<a name="line.478"></a>
-<span class="sourceLineNo">479</span>     * @param result Expecting CANNOT_FLUSH_MEMSTORE_EMPTY or CANNOT_FLUSH.<a name="line.479"></a>
-<span class="sourceLineNo">480</span>     * @param failureReason Reason why we couldn't flush.<a name="line.480"></a>
-<span class="sourceLineNo">481</span>     */<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    FlushResultImpl(Result result, String failureReason, boolean wroteFlushMarker) {<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      this(result, -1, failureReason, wroteFlushMarker);<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      assert result == Result.CANNOT_FLUSH_MEMSTORE_EMPTY || result == Result.CANNOT_FLUSH;<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    }<a name="line.485"></a>
-<span class="sourceLineNo">486</span><a name="line.486"></a>
-<span class="sourceLineNo">487</span>    /**<a name="line.487"></a>
-<span class="sourceLineNo">488</span>     * Constructor with all the parameters.<a name="line.488"></a>
-<span class="sourceLineNo">489</span>     * @param result Any of the Result.<a name="line.489"></a>
-<span class="sourceLineNo">490</span>     * @param flushSequenceId Generated sequence id if the memstores were flushed else -1.<a name="line.490"></a>
-<span class="sourceLineNo">491</span>     * @param failureReason Reason why we couldn't flush, or null.<a name="line.491"></a>
-<span class="sourceLineNo">492</span>     */<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    FlushResultImpl(Result result, long flushSequenceId, String failureReason,<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      boolean wroteFlushMarker) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      this.result = result;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      this.flushSequenceId = flushSequenceId;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      this.failureReason = failureReason;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.wroteFlushWalMarker = wroteFlushMarker;<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    }<a name="line.499"></a>
-<span class="sourceLineNo">500</span><a name="line.500"></a>
-<span class="sourceLineNo">501</span>    /**<a name="line.501"></a>
-<span class="sourceLineNo">502</span>     * Convenience method, the equivalent of checking if result is<a name="line.502"></a>
-<span class="sourceLineNo">503</span>     * FLUSHED_NO_COMPACTION_NEEDED or FLUSHED_NO_COMPACTION_NEEDED.<a name="line.503"></a>
-<span class="sourceLineNo">504</span>     * @return true if the memstores were flushed, else false.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>     */<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    @Override<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    public boolean isFlushSucceeded() {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      return result == Result.FLUSHED_NO_COMPACTION_NEEDED || result == Result<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          .FLUSHED_COMPACTION_NEEDED;<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>    /**<a name="line.512"></a>
-<span class="sourceLineNo">513</span>     * Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.<a name="line.513"></a>
-<span class="sourceLineNo">514</span>     * @return True if the flush requested a compaction, else false (doesn't even mean it flushed).<a name="line.514"></a>
-<span class="sourceLineNo">515</span>     */<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    @Override<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    public boolean isCompactionNeeded() {<a name="line.517"></a>
-<span class="sourceLineNo">518</span>      return result == Result.FLUSHED_COMPACTION_NEEDED;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>    @Override<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    public String toString() {<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      return new StringBuilder()<a name="line.523"></a>
-<span class="sourceLineNo">524</span>        .append("flush result:").append(result).append(", ")<a name="line.524"></a>
-<span class="sourceLineNo">525</span>        .append("failureReason:").append(failureReason).append(",")<a name="line.525"></a>
-<span class="sourceLineNo">526</span>        .append("flush seq id").append(flushSequenceId).toString();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    public Result getResult() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      return result;<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    }<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>  /** A result object from prepare flush cache stage */<a name="line.535"></a>
-<span class="sourceLineNo">536</span>  @VisibleForTesting<a name="line.536"></a>
-<span class="sourceLineNo">537</span>  static class PrepareFlushResult {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    final FlushResultImpl result; // indicating a failure result from prepare<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    final TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    final TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles;<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    final TreeMap&lt;byte[], MemStoreSize&gt; storeFlushableSize;<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    final long startTime;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    final long flushOpSeqId;<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    final long flushedSeqId;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    final MemStoreSizing totalFlushableSize;<a name="line.545"></a>
-<span class="sourceLineNo">546</span><a name="line.546"></a>
-<span class="sourceLineNo">547</span>    /** Constructs an early exit case */<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    PrepareFlushResult(FlushResultImpl result, long flushSeqId) {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      this(result, null, null, null, Math.max(0, flushSeqId), 0, 0, MemStoreSizing.DUD);<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>    /** Constructs a successful prepare flush result */<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    PrepareFlushResult(<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.554"></a>
-<span class="sourceLineNo">555</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      TreeMap&lt;byte[], MemStoreSize&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      long flushedSeqId, MemStoreSizing totalFlushableSize) {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>      this(null, storeFlushCtxs, committedFiles, storeFlushableSize, startTime,<a name="line.558"></a>
-<span class="sourceLineNo">559</span>        flushSeqId, flushedSeqId, totalFlushableSize);<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span>    private PrepareFlushResult(<a name="line.562"></a>
-<span class="sourceLineNo">563</span>        FlushResultImpl result,<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      TreeMap&lt;byte[], StoreFlushContext&gt; storeFlushCtxs,<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      TreeMap&lt;byte[], List&lt;Path&gt;&gt; committedFiles,<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      TreeMap&lt;byte[], MemStoreSize&gt; storeFlushableSize, long startTime, long flushSeqId,<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      long flushedSeqId, MemStoreSizing totalFlushableSize) {<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      this.result = result;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      this.storeFlushCtxs = storeFlushCtxs;<a name="line.569"></a>
-<span class="sourceLineNo">570</span>      this.committedFiles = committedFiles;<a name="line.570"></a>
-<span class="sourceLineNo">571</span>      this.storeFlushableSize = storeFlushableSize;<a name="line.571"></a>
-<span class="sourceLineNo">572</span>      this.startTime = startTime;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>      this.flushOpSeqId = flushSeqId;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      this.flushedSeqId = flushedSeqId;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      this.totalFlushableSize = totalFlushableSize;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    }<a name="line.576"></a>
-<span class="sourceLineNo">577</span><a name="line.577"></a>
-<span class="sourceLineNo">578</span>    public FlushResult getResult() {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      return this.result;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>  }<a name="line.581"></a>
-<span class="sourceLineNo">582</span><a name="line.582"></a>
-<span class="sourceLineNo">583</span>  /**<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * A class that tracks exceptions that have been observed in one batch. Not thread safe.<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   */<a name="line.585"></a>
-<span class="sourceLineNo">586</span>  static class ObservedExceptionsInBatch {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>    private boolean wrongRegion = false;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    private boolean failedSanityCheck = false;<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    private boolean wrongFamily = false;<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>     * @return If a {@link WrongRegionException} has been observed.<a name="line.592"></a>
-<span class="sourceLineNo">593</span>     */<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    boolean hasSeenWrongRegion() {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      return wrongRegion;<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>    /**<a name="line.598"></a>
-<span class="sourceLineNo">599</span>     * Records that a {@link WrongRegionException} has been observed.<a name="line.599"></a>
-<span class="sourceLineNo">600</span>     */<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    void sawWrongRegion() {<a name="line.601"></a>
-<span class="sourceLineNo">602</span>      wrongRegion = true;<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    }<a name="line.603"></a>
-<span class="sourceLineNo">604</span><a name="line.604"></a>
-<span class="sourceLineNo">605</span>    /**<a name="line.605"></a>
-<span class="sourceLineNo">606</span>     * @return If a {@link FailedSanityCheckException} has been observed.<a name="line.606"></a>
-<span class="sourceLineNo">607</span>     */<a name="line.607"></a>
-<span class="sourceLineNo">608</span>    boolean hasSeenFailedSanityCheck() {<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      return failedSanityCheck;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    }<a name="line.610"></a>
-<span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>    /**<a name="line.612"></a>
-<span class="sourceLineNo">613</span>     * Records that a {@link FailedSanityCheckException} has been observed.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>     */<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    void sawFailedSanityCheck() {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      failedSanityCheck = true;<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    }<a name="line.617"></a>
-<span class="sourceLineNo">618</span><a name="line.618"></a>
-<span class="sourceLineNo">619</span>    /**<a name="line.619"></a>
-<span class="sourceLineNo">620</span>     * @return If a {@link NoSuchColumnFamilyException} has been observed.<a name="line.620"></a>
-<span class="sourceLineNo">621</span>     */<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    boolean hasSeenNoSuchFamily() {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>      return wrongFamily;<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>    /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>     * Records that a {@link NoSuchColumnFamilyException} has been observed.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>     */<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    void sawNoSuchFamily() {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>      wrongFamily = true;<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>  final WriteState writestate = new WriteState();<a name="line.634"></a>
-<span class="sourceLineNo">635</span><a name="line.635"></a>
-<span class="sourceLineNo">636</span>  long memstoreFlushSize;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>  final long timestampSlop;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>  final long rowProcessorTimeout;<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>  // Last flush time for each Store. Useful when we are flushing for each column<a name="line.640"></a>
-<span class="sourceLineNo">641</span>  private final ConcurrentMap&lt;HStore, Long&gt; lastStoreFlushTimeMap = new ConcurrentHashMap&lt;&gt;();<a name="line.641"></a>
-<span class="sourceLineNo">642</span><a name="line.642"></a>
-<span class="sourceLineNo">643</span>  final RegionServerServices rsServices;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>  private RegionServerAccounting rsAccounting;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>  private long flushCheckInterval;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>  // flushPerChanges is to prevent too many changes in memstore<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  private long flushPerChanges;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>  private long blockingMemStoreSize;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>  // Used to guard closes<a name="line.649"></a>
-<span class="sourceLineNo">650</span>  final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();<a name="line.650"></a>
-<span class="sourceLineNo">651</span><a name="line.651"></a>
-<span class="sourceLineNo">652</span>  // Stop updates lock<a name="line.652"></a>
-<span class="sourceLineNo">653</span>  private final ReentrantReadWriteLock updatesLock = new ReentrantReadWriteLock();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>  private boolean splitRequest;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>  private byte[] explicitSplitPoint = null;<a name="line.655"></a>
-<span class="sourceLineNo">656</span><a name="line.656"></a>
-<span class="sourceLineNo">657</span>  private final MultiVersionConcurrencyControl mvcc = new MultiVersionConcurrencyControl();<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>  // Coprocessor host<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  private RegionCoprocessorHost coprocessorHost;<a name="line.660"></a>
-<span class="sourceLineNo">661</span><a name="line.661"></a>
-<span class="sourceLineNo">662</span>  private TableDescriptor htableDescriptor = null;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>  private RegionSplitPolicy splitPolicy;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>  private FlushPolicy flushPolicy;<a name="line.664"></a>
-<span class="sourceLineNo">665</span><a name="line.665"></a>
-<span class="sourceLineNo">666</span>  private final MetricsRegion metricsRegion;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>  private final MetricsRegionWrapperImpl metricsRegionWrapper;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>  private final Durability regionDurability;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>  private final boolean regionStatsEnabled;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>  // Stores the replication scope of the various column families of the table<a name="line.670"></a>
-<span class="sourceLineNo">671</span>  // that has non-default scope<a name="line.671"></a>
-<span class="sourceLineNo">672</span>  private final NavigableMap&lt;byte[], Integer&gt; replicationScope = new TreeMap&lt;&gt;(<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      Bytes.BYTES_COMPARATOR);<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>   * HRegion constructor. This constructor should only be used for testing and<a name="line.676"></a>
-<span class="sourceLineNo">677</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.677"></a>
-<span class="sourceLineNo">678</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.678"></a>
-<span class="sourceLineNo">679</span>   *<a name="line.679"></a>
-<span class="sourceLineNo">680</span>   * @param tableDir qualified path of directory where region should be located,<a name="line.680"></a>
-<span class="sourceLineNo">681</span>   * usually the table directory.<a name="line.681"></a>
-<span class="sourceLineNo">682</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.682"></a>
-<span class="sourceLineNo">683</span>   * The wal file is a logfile from the previous execution that's<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   * the supplied path.<a name="line.687"></a>
-<span class="sourceLineNo">688</span>   * @param fs is the filesystem.<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   * @param confParam is global configuration settings.<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   * @param regionInfo - RegionInfo that describes the region<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * is new), then read them from the supplied path.<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * @param htd the table descriptor<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @deprecated Use other constructors.<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   */<a name="line.695"></a>
-<span class="sourceLineNo">696</span>  @Deprecated<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  @VisibleForTesting<a name="line.697"></a>
-<span class="sourceLineNo">698</span>  public HRegion(final Path tableDir, final WAL wal, final FileSystem fs,<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      final Configuration confParam, final RegionInfo regionInfo,<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      final TableDescriptor htd, final RegionServerServices rsServices) {<a name="line.700"></a>
-<span class="sourceLineNo">701</span>    this(new HRegionFileSystem(confParam, fs, tableDir, regionInfo),<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      wal, confParam, htd, rsServices);<a name="line.702"></a>
-<span class="sourceLineNo">703</span>  }<a name="line.703"></a>
-<span class="sourceLineNo">704</span><a name="line.704"></a>
-<span class="sourceLineNo">705</span>  /**<a name="line.705"></a>
-<span class="sourceLineNo">706</span>   * HRegion constructor. This constructor should only be used for testing and<a name="line.706"></a>
-<span class="sourceLineNo">707</span>   * extensions.  Instances of HRegion should be instantiated with the<a name="line.707"></a>
-<span class="sourceLineNo">708</span>   * {@link HRegion#createHRegion} or {@link HRegion#openHRegion} method.<a name="line.708"></a>
-<span class="sourceLineNo">709</span>   *<a name="line.709"></a>
-<span class="sourceLineNo">710</span>   * @param fs is the filesystem.<a name="line.710"></a>
-<span class="sourceLineNo">711</span>   * @param wal The WAL is the outbound log for any updates to the HRegion<a name="line.711"></a>
-<span class="sourceLineNo">712</span>   * The wal file is a logfile from the previous execution that's<a name="line.712"></a>
-<span class="sourceLineNo">713</span>   * custom-computed for this HRegion. The HRegionServer computes and sorts the<a name="line.713"></a>
-<span class="sourceLineNo">714</span>   * appropriate wal info for this HRegion. If there is a previous wal file<a name="line.714"></a>
-<span class="sourceLineNo">715</span>   * (implying that the HRegion has been written-to before), then read it from<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   * the supplied path.<a name="line.716"></a>
-<span class="sourceLineNo">717</span>   * @param confParam is global configuration settings.<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * @param htd the table descriptor<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   * @param rsServices reference to {@link RegionServerServices} or null<a name="line.719"></a>
-<span class="sourceLineNo">720</span>   */<a name="line.720"></a>
-<span class="sourceLineNo">721</span>  public HRegion(final HRegionFileSystem fs, final WAL wal, final Configuration confParam,<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      final TableDescriptor htd, final RegionServerServices rsServices) {<a name="line.722"></a>
-<span class="sourceLineNo">723</span>    if (htd == null) {<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      throw new IllegalArgumentException("Need table descriptor");<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>    if (confParam instanceof CompoundConfiguration) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      throw new IllegalArgumentException("Need original base configuration");<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>    this.wal = wal;<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    this.fs = fs;<a name="line.732"></a>
-<span class="sourceLineNo">733</span><a name="line.733"></a>
-<span class="sourceLineNo">734</span>    // 'conf' renamed to 'confParam' b/c we use this.conf in the constructor<a name="line.734"></a>
-<span class="sourceLineNo">735</span>    this.baseConf = confParam;<a name="line.735"></a>
-<span class="sourceLineNo">736</span>    this.conf = new CompoundConfiguration()<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      .add(confParam)<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      .addBytesMap(htd.getValues());<a name="line.738"></a>
-<span class="sourceLineNo">739</span>    this.flushCheckInterval = conf.getInt(MEMSTORE_PERIODIC_FLUSH_INTERVAL,<a name="line.739"></a>
-<span class="sourceLineNo">740</span>        DEFAULT_CACHE_FLUSH_INTERVAL);<a name="line.740"></a>
-<span class="sourceLineNo">741</span>    this.flushPerChanges = conf.getLong(MEMSTORE_FLUSH_PER_CHANGES, DEFAULT_FLUSH_PER_CHANGES);<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    if (this.flushPerChanges &gt; MAX_FLUSH_PER_CHANGES) {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>      throw new IllegalArgumentException(MEMSTORE_FLUSH_PER_CHANGES + " can not exceed "<a name="line.743"></a>
-<span class="sourceLineNo">744</span>          + MAX_FLUSH_PER_CHANGES);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>    }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>    this.rowLockWaitDuration = conf.getInt("hbase.rowlock.wait.duration",<a name="line.746"></a>
-<span class="sourceLineNo">747</span>                    DEFAULT_ROWLOCK_WAIT_DURATION);<a name="line.747"></a>
-<span class="sourceLineNo">748</span><a name="line.748"></a>
-<span class="sourceLineNo">749</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    this.htableDescriptor = htd;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    Set&lt;byte[]&gt; families = this.htableDescriptor.getColumnFamilyNames();<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    for (byte[] family : families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      if (!replicationScope.containsKey(family)) {<a name="line.753"></a>
-<span class="sourceLineNo">754</span>        int scope = htd.getColumnFamily(family).getScope();<a name="line.754"></a>
-<span class="sourceLineNo">755</span>        // Only store those families that has NON-DEFAULT scope<a name="line.755"></a>
-<span class="sourceLineNo">756</span>        if (scope != REPLICATION_SCOPE_LOCAL) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>          // Do a copy before storing it here.<a name="line.757"></a>
-<span class="sourceLineNo">758</span>          replicationScope.put(Bytes.copy(family), scope);<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>    }<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    this.rsServices = rsServices;<a name="line.762"></a>
-<span class="sourceLineNo">763</span>    setHTableSpecificConf();<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;&gt;();<a name="line.764"></a>
-<span class="sourceLineNo">765</span><a name="line.765"></a>
-<span class="sourceLineNo">766</span>    this.busyWaitDuration = conf.getLong(<a name="line.766"></a>
-<span class="sourceLineNo">767</span>      "hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.767"></a>
-<span class="sourceLineNo">768</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.768"></a>
-<span class="sourceLineNo">769</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.769"></a>
-<span class="sourceLineNo">770</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration ("<a name="line.770"></a>
-<span class="sourceLineNo">771</span>        + busyWaitDuration + ") or hbase.busy.wait.multiplier.max ("<a name="line.771"></a>
-<span class="sourceLineNo">772</span>        + maxBusyWaitMultiplier + "). Their product should be positive");<a name="line.772"></a>
-<span class="sourceLineNo">773</span>    }<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    this.maxBusyWaitDuration = conf.getLong("hbase.ipc.client.call.purge.timeout",<a name="line.774"></a>
-<span class="sourceLineNo">775</span>      2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.775"></a>
-<span class="sourceLineNo">776</span><a name="line.776"></a>
-<span class="sourceLineNo">777</span>    /*<a name="line.777"></a>
-<span class="sourceLineNo">778</span>     * timestamp.slop provides a server-side constraint on the timestamp. This<a name="line.778"></a>
-<span class="sourceLineNo">779</span>     * assumes that you base your TS around currentTimeMillis(). In this case,<a name="line.779"></a>
-<span class="sourceLineNo">780</span>     * throw an error to the user if the user-specified TS is newer than now +<a name="line.780"></a>
-<span class="sourceLineNo">781</span>     * slop. LATEST_TIMESTAMP == don't use this functionality<a name="line.781"></a>
-<span class="sourceLineNo">782</span>     */<a name="line.782"></a>
-<span class="sourceLineNo">783</span>    this.timestampSlop = conf.getLong(<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        "hbase.hregion.keyvalue.timestamp.slop.millisecs",<a name="line.784"></a>
-<span class="sourceLineNo">785</span>        HConstants.LATEST_TIMESTAMP);<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>     * Timeout for the process time in processRowsWithLocks().<a name="line.788"></a>
-<span class="sourceLineNo">789</span>     * Use -1 to switch off time bound.<a name="line.789"></a>
-<span class="sourceLineNo">790</span>     */<a name="line.790"></a>
-<span class="sourceLineNo">791</span>    this.rowProcessorTimeout = conf.getLong(<a name="line.791"></a>
-<span class="sourceLineNo">792</span>        "hbase.hregion.row.processor.timeout", DEFAULT_ROW_PROCESSOR_TIMEOUT);<a name="line.792"></a>
-<span class="sourceLineNo">793</span>    this.regionDurability = htd.getDurability() == Durability.USE_DEFAULT ?<a name="line.793"></a>
-<span class="sourceLineNo">794</span>        DEFAULT_DURABILITY : htd.getDurability();<a name="line.794"></a>
-<span class="sourceLineNo">795</span>    if (rsServices != null) {<a name="line.795"></a>
-<span class="sourceLineNo">796</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.798"></a>
-<span class="sourceLineNo">799</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper);<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    } else {<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      this.metricsRegionWrapper = null;<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      this.metricsRegion = null;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>    }<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    if (LOG.isDebugEnabled()) {<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      // Write out region name as string and its encoded name.<a name="line.807"></a>
-<span class="sourceLineNo">808</span>      LOG.debug("Instantiated " + this);<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>    configurationManager = Optional.empty();<a name="line.811"></a>
-<span class="sourceLineNo">812</span><a name="line.812"></a>
-<span class="sourceLineNo">813</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString().equals(<a name="line.814"></a>
-<span class="sourceLineNo">815</span>        NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR) ?<a name="line.815"></a>
-<span class="sourceLineNo">816</span>          false :<a name="line.816"></a>
-<span class="sourceLineNo">817</span>          conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.817"></a>
-<span class="sourceLineNo">818</span>              HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    this.maxCellSize = conf.getLong(HBASE_MAX_CELL_SIZE_KEY, DEFAULT_MAX_CELL_SIZE);<a name="line.820"></a>
-<span class="sourceLineNo">821</span>    this.miniBatchSize = conf.getInt(HBASE_REGIONSERVER_MINIBATCH_SIZE,<a name="line.821"></a>
-<span class="sourceLineNo">822</span>        DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE);<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>  void setHTableSpecificConf() {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    if (this.htableDescriptor == null) return;<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.827"></a>
-<span class="sourceLineNo">828</span><a name="line.828"></a>
-<span class="sourceLineNo">829</span>    if (flushSize &lt;= 0) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.830"></a>
-<span class="sourceLineNo">831</span>        TableDescriptorBuilder.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.831"></a>
-<span class="sourceLineNo">832</span>    }<a name="line.832"></a>
-<span class="sourceLineNo">833</span>    this.memstoreFlushSize = flushSize;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    this.blockingMemStoreSize = this.memstoreFlushSize *<a name="line.834"></a>
-<span class="sourceLineNo">835</span>        conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.835"></a>
-<span class="sourceLineNo">836</span>                HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<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>   * Initialize this region.<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * Used only by tests and SplitTransaction to reopen the region.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   * You should use createHRegion() or openHRegion()<a name="line.842"></a>
-<span class="sourceLineNo">843</span>   * @return What the next sequence (edit) id should be.<a name="line.843"></a>
-<span class="sourceLineNo">844</span>   * @throws IOException e<a name="line.844"></a>
-<span class="sourceLineNo">845</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.845"></a>
-<span class="sourceLineNo">846</span>   */<a name="line.846"></a>
-<span class="sourceLineNo">847</span>  @Deprecated<a name="line.847"></a>
-<span class="sourceLineNo">848</span>  public long initialize() throws IOException {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>    return initialize(null);<a name="line.849"></a>
-<span class="sourceLineNo">850</span>  }<a name="line.850"></a>
-<span class="sourceLineNo">851</span><a name="line.851"></a>
-<span class="sourceLineNo">852</span>  /**<a name="line.852"></a>
-<span class="sourceLineNo">853</span>   * Initialize this region.<a name="line.853"></a>
-<span class="sourceLineNo">854</span>   *<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.855"></a>
-<span class="sourceLineNo">856</span>   * @return What the next sequence (edit) id should be.<a name="line.856"></a>
-<span class="sourceLineNo">857</span>   * @throws IOException e<a name="line.857"></a>
-<span class="sourceLineNo">858</span>   */<a name="line.858"></a>
-<span class="sourceLineNo">859</span>  private long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.859"></a>
-<span class="sourceLineNo">860</span><a name="line.860"></a>
-<span class="sourceLineNo">861</span>    //Refuse to open the region if there is no column family in the table<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    if (htableDescriptor.getColumnFamilyCount() == 0) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      throw new DoNotRetryIOException("Table " + htableDescriptor.getTableName().getNameAsString()+<a name="line.863"></a>
-<span class="sourceLineNo">864</span>          " should have at least one column family.");<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    }<a name="line.865"></a>
-<span class="sourceLineNo">866</span><a name="line.866"></a>
-<span class="sourceLineNo">867</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.867"></a>
-<span class="sourceLineNo">868</span>    long nextSeqId = -1;<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    try {<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      return nextSeqId;<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    } finally {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.873"></a>
-<span class="sourceLineNo">874</span>      // At least it will be 0 otherwise.<a name="line.874"></a>
-<span class="sourceLineNo">875</span>      if (nextSeqId == -1) {<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +<a name="line.876"></a>
-<span class="sour

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html
index 416bf21..6b01ff4 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html
@@ -30,9 +30,9 @@
 <span class="sourceLineNo">022</span>import java.util.Arrays;<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><a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.27"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.util.CollectionUtils;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.27"></a>
 <span class="sourceLineNo">028</span><a name="line.28"></a>
 <span class="sourceLineNo">029</span>/**<a name="line.29"></a>
 <span class="sourceLineNo">030</span> * Performs multiple mutations atomically on a single row.<a name="line.30"></a>
@@ -46,110 +46,148 @@
 <span class="sourceLineNo">038</span> */<a name="line.38"></a>
 <span class="sourceLineNo">039</span>@InterfaceAudience.Public<a name="line.39"></a>
 <span class="sourceLineNo">040</span>public class RowMutations implements Row {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  private final List&lt;Mutation&gt; mutations;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>  private final byte [] row;<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>  public RowMutations(byte [] row) {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    this(row, -1);<a name="line.45"></a>
-<span class="sourceLineNo">046</span>  }<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  /**<a name="line.47"></a>
-<span class="sourceLineNo">048</span>   * Create an atomic mutation for the specified row.<a name="line.48"></a>
-<span class="sourceLineNo">049</span>   * @param row row key<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   * @param initialCapacity the initial capacity of the RowMutations<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   */<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  public RowMutations(byte [] row, int initialCapacity) {<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    Mutation.checkRow(row);<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    this.row = Bytes.copy(row);<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    if (initialCapacity &lt;= 0) {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>      this.mutations = new ArrayList&lt;&gt;();<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    } else {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      this.mutations = new ArrayList&lt;&gt;(initialCapacity);<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    }<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  }<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>  /**<a name="line.42"></a>
+<span class="sourceLineNo">043</span>   * Create a {@link RowMutations} with the specified mutations.<a name="line.43"></a>
+<span class="sourceLineNo">044</span>   * @param mutations the mutations to send<a name="line.44"></a>
+<span class="sourceLineNo">045</span>   * @return RowMutations<a name="line.45"></a>
+<span class="sourceLineNo">046</span>   * @throws IOException if any row in mutations is different to another<a name="line.46"></a>
+<span class="sourceLineNo">047</span>   */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  public static RowMutations of(List&lt;? extends Mutation&gt; mutations) throws IOException {<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    if (CollectionUtils.isEmpty(mutations)) {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>      throw new IllegalArgumentException("Can't instantiate a RowMutations by empty list");<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    }<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    return new RowMutations(mutations.get(0).getRow(), mutations.size())<a name="line.52"></a>
+<span class="sourceLineNo">053</span>        .add(mutations);<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private final List&lt;Mutation&gt; mutations;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private final byte [] row;<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  public RowMutations(byte [] row) {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    this(row, -1);<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  }<a name="line.61"></a>
 <span class="sourceLineNo">062</span>  /**<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * Add a {@link Put} operation to the list of mutations<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   * @param p The {@link Put} to add<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * @throws IOException<a name="line.65"></a>
+<span class="sourceLineNo">063</span>   * Create an atomic mutation for the specified row.<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * @param row row key<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * @param initialCapacity the initial capacity of the RowMutations<a name="line.65"></a>
 <span class="sourceLineNo">066</span>   */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  public void add(Put p) throws IOException {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    internalAdd(p);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  /**<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   * Add a {@link Delete} operation to the list of mutations<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   * @param d The {@link Delete} to add<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   * @throws IOException<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   */<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public void add(Delete d) throws IOException {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    internalAdd(d);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  private void internalAdd(Mutation m) throws IOException {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    int res = Bytes.compareTo(this.row, m.getRow());<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    if (res != 0) {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>      throw new WrongRowIOException("The row in the recently added Put/Delete &lt;" +<a name="line.83"></a>
-<span class="sourceLineNo">084</span>          Bytes.toStringBinary(m.getRow()) + "&gt; doesn't match the original one &lt;" +<a name="line.84"></a>
-<span class="sourceLineNo">085</span>          Bytes.toStringBinary(this.row) + "&gt;");<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    }<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    mutations.add(m);<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  }<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  /**<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   *             Use {@link Row#COMPARATOR} instead<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  @Deprecated<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  @Override<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  public int compareTo(Row i) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    return Bytes.compareTo(this.getRow(), i.getRow());<a name="line.97"></a>
+<span class="sourceLineNo">067</span>  public RowMutations(byte [] row, int initialCapacity) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    this.row = Bytes.copy(Mutation.checkRow(row));<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    if (initialCapacity &lt;= 0) {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      this.mutations = new ArrayList&lt;&gt;();<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    } else {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      this.mutations = new ArrayList&lt;&gt;(initialCapacity);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  /**<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   * Add a {@link Put} operation to the list of mutations<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   * @param p The {@link Put} to add<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * @deprecated since 2.0 version and will be removed in 3.0 version.<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   *             use {@link #add(Mutation)}<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   */<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  @Deprecated<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  public void add(Put p) throws IOException {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    add((Mutation) p);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
+<span class="sourceLineNo">087</span><a name="line.87"></a>
+<span class="sourceLineNo">088</span>  /**<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * Add a {@link Delete} operation to the list of mutations<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @param d The {@link Delete} to add<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   * @deprecated since 2.0 version and will be removed in 3.0 version.<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   *             use {@link #add(Mutation)}<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   */<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  @Deprecated<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  public void add(Delete d) throws IOException {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    add((Mutation) d);<a name="line.97"></a>
 <span class="sourceLineNo">098</span>  }<a name="line.98"></a>
 <span class="sourceLineNo">099</span><a name="line.99"></a>
 <span class="sourceLineNo">100</span>  /**<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   *             No replacement<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   */<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  @Deprecated<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  @Override<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  public boolean equals(Object obj) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    if (obj == this) return true;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    if (obj instanceof RowMutations) {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      RowMutations other = (RowMutations)obj;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      return compareTo(other) == 0;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    return false;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /**<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   *             No replacement<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   */<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  @Deprecated<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  @Override<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  public int hashCode(){<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    return Arrays.hashCode(row);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  }<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  @Override<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public byte[] getRow() {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return row;<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>   * @return An unmodifiable list of the current mutations.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   */<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  public List&lt;Mutation&gt; getMutations() {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    return Collections.unmodifiableList(mutations);<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  public int getMaxPriority() {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    int maxPriority = Integer.MIN_VALUE;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    for (Mutation mutation : mutations) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      maxPriority = Math.max(maxPriority, mutation.getPriority());<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    return maxPriority;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>}<a name="line.144"></a>
+<span class="sourceLineNo">101</span>   * Currently only supports {@link Put} and {@link Delete} mutations.<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   *<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * @param mutation The data to send.<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public RowMutations add(Mutation mutation) throws IOException {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return add(Collections.singletonList(mutation));<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>   * Currently only supports {@link Put} and {@link Delete} mutations.<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   *<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * @param mutations The data to send.<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   */<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  public RowMutations add(List&lt;? extends Mutation&gt; mutations) throws IOException {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    for (Mutation mutation : mutations) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      if (!Bytes.equals(row, mutation.getRow())) {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        throw new WrongRowIOException("The row in the recently added Put/Delete &lt;" +<a name="line.119"></a>
+<span class="sourceLineNo">120</span>          Bytes.toStringBinary(mutation.getRow()) + "&gt; doesn't match the original one &lt;" +<a name="line.120"></a>
+<span class="sourceLineNo">121</span>          Bytes.toStringBinary(this.row) + "&gt;");<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    }<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    this.mutations.addAll(mutations);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    return this;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  }<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>  /**<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   *             Use {@link Row#COMPARATOR} instead<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   */<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  @Deprecated<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  @Override<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  public int compareTo(Row i) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    return Bytes.compareTo(this.getRow(), i.getRow());<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  /**<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   *             No replacement<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   */<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  @Deprecated<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  @Override<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  public boolean equals(Object obj) {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    if (obj == this) return true;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    if (obj instanceof RowMutations) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      RowMutations other = (RowMutations)obj;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      return compareTo(other) == 0;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    return false;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>  /**<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   *             No replacement<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   */<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  @Deprecated<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  @Override<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public int hashCode(){<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    return Arrays.hashCode(row);<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>  @Override<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  public byte[] getRow() {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    return row;<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>   * @return An unmodifiable list of the current mutations.<a name="line.169"></a>
+<span class="sourceLineNo">170</span>   */<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  public List&lt;Mutation&gt; getMutations() {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return Collections.unmodifiableList(mutations);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public int getMaxPriority() {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    int maxPriority = Integer.MIN_VALUE;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    for (Mutation mutation : mutations) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      maxPriority = Math.max(maxPriority, mutation.getPriority());<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    return maxPriority;<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>
 
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 5cdb5bc..0e04551 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -348,8 +348,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.BufferCallAction.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferCallBeforeInitHandler.BufferCallAction</span></a></li>
+<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>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/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 97a8364..164c307 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="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">RowCounter.RowCounterMapper.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html b/devapidocs/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
index 9614d85..ae83683 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.239">HMaster.InitializationMonitor</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.243">HMaster.InitializationMonitor</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" title="class in org.apache.hadoop.hbase.util">HasThread</a></pre>
 <div class="block">Protection against zombie master. Started once Master accepts active responsibility and
  starts taking over responsibilities. Allows a finite time window before giving up ownership.</div>
@@ -250,7 +250,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>TIMEOUT_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.241">TIMEOUT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.245">TIMEOUT_KEY</a></pre>
 <div class="block">The amount of time in milliseconds to sleep before checking initialization status.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -264,7 +264,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>TIMEOUT_DEFAULT</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.242">TIMEOUT_DEFAULT</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.246">TIMEOUT_DEFAULT</a></pre>
 </li>
 </ul>
 <a name="HALT_KEY">
@@ -273,7 +273,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>HALT_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.248">HALT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.252">HALT_KEY</a></pre>
 <div class="block">When timeout expired and initialization has not complete, call <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#exit-int-" title="class or interface in java.lang"><code>System.exit(int)</code></a> when
  true, do nothing otherwise.</div>
 <dl>
@@ -288,7 +288,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>HALT_DEFAULT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.249">HALT_DEFAULT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.253">HALT_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.InitializationMonitor.HALT_DEFAULT">Constant Field Values</a></dd>
@@ -301,7 +301,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>master</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.251">master</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.255">master</a></pre>
 </li>
 </ul>
 <a name="timeout">
@@ -310,7 +310,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>timeout</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.252">timeout</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.256">timeout</a></pre>
 </li>
 </ul>
 <a name="haltOnTimeout">
@@ -319,7 +319,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>haltOnTimeout</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.253">haltOnTimeout</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.257">haltOnTimeout</a></pre>
 </li>
 </ul>
 </li>
@@ -336,7 +336,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>InitializationMonitor</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.256">InitializationMonitor</a>(<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;master)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.260">InitializationMonitor</a>(<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;master)</pre>
 <div class="block">Creates a Thread that monitors the <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#isInitialized--"><code>HMaster.isInitialized()</code></a> state.</div>
 </li>
 </ul>
@@ -354,7 +354,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HasThread.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.265">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.InitializationMonitor.html#line.269">run</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html b/devapidocs/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
index 04f295a..ac555b2 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.420">HMaster.RedirectServlet</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.424">HMaster.RedirectServlet</a>
 extends javax.servlet.http.HttpServlet</pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -243,7 +243,7 @@ extends javax.servlet.http.HttpServlet</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>serialVersionUID</h4>
-<pre>private static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.421">serialVersionUID</a></pre>
+<pre>private static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.425">serialVersionUID</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.master.HMaster.RedirectServlet.serialVersionUID">Constant Field Values</a></dd>
@@ -256,7 +256,7 @@ extends javax.servlet.http.HttpServlet</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServerInfoPort</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.422">regionServerInfoPort</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.426">regionServerInfoPort</a></pre>
 </li>
 </ul>
 <a name="regionServerHostname">
@@ -265,7 +265,7 @@ extends javax.servlet.http.HttpServlet</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>regionServerHostname</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.423">regionServerHostname</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.427">regionServerHostname</a></pre>
 </li>
 </ul>
 </li>
@@ -282,7 +282,7 @@ extends javax.servlet.http.HttpServlet</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RedirectServlet</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.429">RedirectServlet</a>(<a href="../../../../../org/apache/hadoop/hbase/http/InfoServer.html" title="class in org.apache.hadoop.hbase.http">InfoServer</a>&nbsp;infoServer,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.433">RedirectServlet</a>(<a href="../../../../../org/apache/hadoop/hbase/http/InfoServer.html" title="class in org.apache.hadoop.hbase.http">InfoServer</a>&nbsp;infoServer,
                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;hostname)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -305,7 +305,7 @@ extends javax.servlet.http.HttpServlet</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>doGet</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.435">doGet</a>(javax.servlet.http.HttpServletRequest&nbsp;request,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.RedirectServlet.html#line.439">doGet</a>(javax.servlet.http.HttpServletRequest&nbsp;request,
                   javax.servlet.http.HttpServletResponse&nbsp;response)
            throws javax.servlet.ServletException,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html
index 10c78e1..b79e386 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.104">BucketCache</a>
+public class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.103">BucketCache</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>, <a href="../../../../../../../org/apache/hadoop/hbase/io/HeapSize.html" title="interface in org.apache.hadoop.hbase.io">HeapSize</a></pre>
 <div class="block">BucketCache uses <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><code>BucketAllocator</code></a> to allocate/free blocks, and uses
@@ -781,7 +781,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <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/io/hfile/bucket/BucketCache.html#line.105">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.104">LOG</a></pre>
 </li>
 </ul>
 <a name="SINGLE_FACTOR_CONFIG_NAME">
@@ -790,7 +790,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>SINGLE_FACTOR_CONFIG_NAME</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.108">SINGLE_FACTOR_CONFIG_NAME</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.107">SINGLE_FACTOR_CONFIG_NAME</a></pre>
 <div class="block">Priority buckets config</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -804,7 +804,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>MULTI_FACTOR_CONFIG_NAME</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.109">MULTI_FACTOR_CONFIG_NAME</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.108">MULTI_FACTOR_CONFIG_NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.MULTI_FACTOR_CONFIG_NAME">Constant Field Values</a></dd>
@@ -817,7 +817,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>MEMORY_FACTOR_CONFIG_NAME</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.110">MEMORY_FACTOR_CONFIG_NAME</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.109">MEMORY_FACTOR_CONFIG_NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.MEMORY_FACTOR_CONFIG_NAME">Constant Field Values</a></dd>
@@ -830,7 +830,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>EXTRA_FREE_FACTOR_CONFIG_NAME</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.111">EXTRA_FREE_FACTOR_CONFIG_NAME</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.110">EXTRA_FREE_FACTOR_CONFIG_NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.EXTRA_FREE_FACTOR_CONFIG_NAME">Constant Field Values</a></dd>
@@ -843,7 +843,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>ACCEPT_FACTOR_CONFIG_NAME</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.112">ACCEPT_FACTOR_CONFIG_NAME</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.111">ACCEPT_FACTOR_CONFIG_NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.ACCEPT_FACTOR_CONFIG_NAME">Constant Field Values</a></dd>
@@ -856,7 +856,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>MIN_FACTOR_CONFIG_NAME</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.113">MIN_FACTOR_CONFIG_NAME</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.112">MIN_FACTOR_CONFIG_NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.MIN_FACTOR_CONFIG_NAME">Constant Field Values</a></dd>
@@ -869,7 +869,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_SINGLE_FACTOR</h4>
-<pre>static final&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.117">DEFAULT_SINGLE_FACTOR</a></pre>
+<pre>static final&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.116">DEFAULT_SINGLE_FACTOR</a></pre>
 <div class="block">Priority buckets</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -883,7 +883,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MULTI_FACTOR</h4>
-<pre>static final&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.118">DEFAULT_MULTI_FACTOR</a></pre>
+<pre>static final&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.117">DEFAULT_MULTI_FACTOR</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.DEFAULT_MULTI_FACTOR">Constant Field Values</a></dd>
@@ -896,7 +896,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MEMORY_FACTOR</h4>
-<pre>static final&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.119">DEFAULT_MEMORY_FACTOR</a></pre>
+<pre>static final&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.118">DEFAULT_MEMORY_FACTOR</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.DEFAULT_MEMORY_FACTOR">Constant Field Values</a></dd>
@@ -909,7 +909,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MIN_FACTOR</h4>
-<pre>static final&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.120">DEFAULT_MIN_FACTOR</a></pre>
+<pre>static final&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.119">DEFAULT_MIN_FACTOR</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.DEFAULT_MIN_FACTOR">Constant Field Values</a></dd>
@@ -922,7 +922,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_EXTRA_FREE_FACTOR</h4>
-<pre>private static final&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.122">DEFAULT_EXTRA_FREE_FACTOR</a></pre>
+<pre>private static final&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.121">DEFAULT_EXTRA_FREE_FACTOR</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.DEFAULT_EXTRA_FREE_FACTOR">Constant Field Values</a></dd>
@@ -935,7 +935,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_ACCEPT_FACTOR</h4>
-<pre>private static final&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.123">DEFAULT_ACCEPT_FACTOR</a></pre>
+<pre>private static final&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.122">DEFAULT_ACCEPT_FACTOR</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.DEFAULT_ACCEPT_FACTOR">Constant Field Values</a></dd>
@@ -948,7 +948,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_FREE_ENTIRE_BLOCK_FACTOR</h4>
-<pre>private static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.126">DEFAULT_FREE_ENTIRE_BLOCK_FACTOR</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.125">DEFAULT_FREE_ENTIRE_BLOCK_FACTOR</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.DEFAULT_FREE_ENTIRE_BLOCK_FACTOR">Constant Field Values</a></dd>
@@ -961,7 +961,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>statThreadPeriod</h4>
-<pre>private static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.129">statThreadPeriod</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.128">statThreadPeriod</a></pre>
 <div class="block">Statistics thread</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -975,7 +975,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_WRITER_THREADS</h4>
-<pre>static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.131">DEFAULT_WRITER_THREADS</a></pre>
+<pre>static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.130">DEFAULT_WRITER_THREADS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.DEFAULT_WRITER_THREADS">Constant Field Values</a></dd>
@@ -988,7 +988,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_WRITER_QUEUE_ITEMS</h4>
-<pre>static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.132">DEFAULT_WRITER_QUEUE_ITEMS</a></pre>
+<pre>static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.131">DEFAULT_WRITER_QUEUE_ITEMS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.DEFAULT_WRITER_QUEUE_ITEMS">Constant Field Values</a></dd>
@@ -1001,7 +1001,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>ioEngine</h4>
-<pre>final&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">IOEngine</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.135">ioEngine</a></pre>
+<pre>final&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">IOEngine</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.134">ioEngine</a></pre>
 </li>
 </ul>
 <a name="ramCache">
@@ -1010,7 +1010,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>ramCache</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>,<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>&gt; <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.139">ramCache</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>,<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>&gt; <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.138">ramCache</a></pre>
 </li>
 </ul>
 <a name="backingMap">
@@ -1019,7 +1019,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>backingMap</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>,<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntry</a>&gt; <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.142">backingMap</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>,<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntry</a>&gt; <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.141">backingMap</a></pre>
 </li>
 </ul>
 <a name="cacheEnabled">
@@ -1028,7 +1028,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheEnabled</h4>
-<pre>private volatile&nbsp;boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.149">cacheEnabled</a></pre>
+<pre>private volatile&nbsp;boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.148">cacheEnabled</a></pre>
 <div class="block">Flag if the cache is enabled or not... We shut it off if there are IO
  errors for some time, so that Bucket IO exceptions/errors don't bring down
  the HBase server.</div>
@@ -1040,7 +1040,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>writerQueues</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="http://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/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>&gt;&gt; <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.159">writerQueues</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="http://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/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>&gt;&gt; <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.158">writerQueues</a></pre>
 <div class="block">A list of writer queues.  We have a queue per <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><code>BucketCache.WriterThread</code></a> we have running.
  In other words, the work adding blocks to the BucketCache is divided up amongst the
  running WriterThreads.  Its done by taking hash of the cache key modulo queue count.
@@ -1054,7 +1054,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>writerThreads</h4>
-<pre>final&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.WriterThread</a>[] <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.161">writerThreads</a></pre>
+<pre>final&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.WriterThread.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.WriterThread</a>[] <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.160">writerThreads</a></pre>
 </li>
 </ul>
 <a name="freeInProgress">
@@ -1063,7 +1063,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>freeInProgress</h4>
-<pre>private volatile&nbsp;boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.164">freeInProgress</a></pre>
+<pre>private volatile&nbsp;boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.163">freeInProgress</a></pre>
 <div class="block">Volatile boolean to track if free space is in process or not</div>
 </li>
 </ul>
@@ -1073,7 +1073,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>freeSpaceLock</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.165">freeSpaceLock</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.164">freeSpaceLock</a></pre>
 </li>
 </ul>
 <a name="deserialiserMap">
@@ -1082,7 +1082,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>deserialiserMap</h4>
-<pre>private&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/UniqueIndexMap.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">UniqueIndexMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.167">deserialiserMap</a></pre>
+<pre>private&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/UniqueIndexMap.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">UniqueIndexMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.166">deserialiserMap</a></pre>
 </li>
 </ul>
 <a name="realCacheSize">
@@ -1091,7 +1091,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>realCacheSize</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.169">realCacheSize</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.168">realCacheSize</a></pre>
 </li>
 </ul>
 <a name="heapSize">
@@ -1100,7 +1100,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>heapSize</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.170">heapSize</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.169">heapSize</a></pre>
 </li>
 </ul>
 <a name="blockNumber">
@@ -1109,7 +1109,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>blockNumber</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.172">blockNumber</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.171">blockNumber</a></pre>
 <div class="block">Current number of cached elements</div>
 </li>
 </ul>
@@ -1119,7 +1119,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>accessCount</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.175">accessCount</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.174">accessCount</a></pre>
 <div class="block">Cache access count (sequential ID)</div>
 </li>
 </ul>
@@ -1129,7 +1129,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CACHE_WAIT_TIME</h4>
-<pre>private static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.177">DEFAULT_CACHE_WAIT_TIME</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.176">DEFAULT_CACHE_WAIT_TIME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.DEFAULT_CACHE_WAIT_TIME">Constant Field Values</a></dd>
@@ -1142,7 +1142,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>wait_when_cache</h4>
-<pre>boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.181">wait_when_cache</a></pre>
+<pre>boolean <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.180">wait_when_cache</a></pre>
 </li>
 </ul>
 <a name="cacheStats">
@@ -1151,7 +1151,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheStats</h4>
-<pre>private final&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCacheStats</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.183">cacheStats</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCacheStats.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCacheStats</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.182">cacheStats</a></pre>
 </li>
 </ul>
 <a name="persistencePath">
@@ -1160,7 +1160,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>persistencePath</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.185">persistencePath</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.184">persistencePath</a></pre>
 </li>
 </ul>
 <a name="cacheCapacity">
@@ -1169,7 +1169,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheCapacity</h4>
-<pre>private final&nbsp;long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.186">cacheCapacity</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.185">cacheCapacity</a></pre>
 </li>
 </ul>
 <a name="blockSize">
@@ -1178,7 +1178,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>blockSize</h4>
-<pre>private final&nbsp;long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.188">blockSize</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.187">blockSize</a></pre>
 <div class="block">Approximate block size</div>
 </li>
 </ul>
@@ -1188,7 +1188,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>ioErrorsTolerationDuration</h4>
-<pre>private final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.191">ioErrorsTolerationDuration</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.190">ioErrorsTolerationDuration</a></pre>
 <div class="block">Duration of IO errors tolerated before we disable cache, 1 min as default</div>
 </li>
 </ul>
@@ -1198,7 +1198,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_ERROR_TOLERATION_DURATION</h4>
-<pre>public static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.193">DEFAULT_ERROR_TOLERATION_DURATION</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.192">DEFAULT_ERROR_TOLERATION_DURATION</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../../constant-values.html#org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.DEFAULT_ERROR_TOLERATION_DURATION">Constant Field Values</a></dd>
@@ -1211,7 +1211,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>ioErrorStartTime</h4>
-<pre>private volatile&nbsp;long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.197">ioErrorStartTime</a></pre>
+<pre>private volatile&nbsp;long <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.196">ioErrorStartTime</a></pre>
 </li>
 </ul>
 <a name="offsetLock">
@@ -1220,7 +1220,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>offsetLock</h4>
-<pre>final&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.html" title="class in org.apache.hadoop.hbase.util">IdReadWriteLock</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.206">offsetLock</a></pre>
+<pre>final&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.html" title="class in org.apache.hadoop.hbase.util">IdReadWriteLock</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.205">offsetLock</a></pre>
 <div class="block">A ReentrantReadWriteLock to lock on a particular block identified by offset.
  The purpose of this is to avoid freeing the block which is being read.
  <p>
@@ -1233,7 +1233,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>blocksByHFile</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&gt; <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.208">blocksByHFile</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&gt; <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.207">blocksByHFile</a></pre>
 </li>
 </ul>
 <a name="scheduleThreadPool">
@@ -1242,7 +1242,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>scheduleThreadPool</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.227">scheduleThreadPool</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.226">scheduleThreadPool</a></pre>
 <div class="block">Statistics thread schedule pool (for heavy debugging, could remove)</div>
 </li>
 </ul>
@@ -1252,7 +1252,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>bucketAllocator</h4>
-<pre>private&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketAllocator</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.231">bucketAllocator</a></pre>
+<pre>private&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketAllocator</a> <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.230">bucketAllocator</a></pre>
 </li>
 </ul>
 <a name="acceptableFactor">
@@ -1261,7 +1261,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>acceptableFactor</h4>
-<pre>private&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.234">acceptableFactor</a></pre>
+<pre>private&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.233">acceptableFactor</a></pre>
 <div class="block">Acceptable size of cache (no evictions if size < acceptable)</div>
 </li>
 </ul>
@@ -1271,7 +1271,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>minFactor</h4>
-<pre>private&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.237">minFactor</a></pre>
+<pre>private&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.236">minFactor</a></pre>
 <div class="block">Minimum threshold of cache (when evicting, evict until size < min)</div>
 </li>
 </ul>
@@ -1281,7 +1281,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>extraFreeFactor</h4>
-<pre>private&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.240">extraFreeFactor</a></pre>
+<pre>private&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.239">extraFreeFactor</a></pre>
 <div class="block">Free this floating point factor of extra blocks when evicting. For example free the number of blocks requested * (1 + extraFreeFactor)</div>
 </li>
 </ul>
@@ -1291,7 +1291,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>singleFactor</h4>
-<pre>private&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.243">singleFactor</a></pre>
+<pre>private&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.242">singleFactor</a></pre>
 <div class="block">Single access bucket size</div>
 </li>
 </ul>
@@ -1301,7 +1301,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>multiFactor</h4>
-<pre>private&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.246">multiFactor</a></pre>
+<pre>private&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.245">multiFactor</a></pre>
 <div class="block">Multiple access bucket size</div>
 </li>
 </ul>
@@ -1311,7 +1311,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>memoryFactor</h4>
-<pre>private&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.249">memoryFactor</a></pre>
+<pre>private&nbsp;float <a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.248">memoryFactor</a></pre>
 <div class="block">In-memory bucket size</div>
 </li>
 </ul>
@@ -1329,7 +1329,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>BucketCache</h4>
-<pre>public&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.251">BucketCache</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ioEngineName,
+<pre>public&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.250">BucketCache</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ioEngineName,
                    long&nbsp;capacity,
                    int&nbsp;blockSize,
                    int[]&nbsp;bucketSizes,
@@ -1351,7 +1351,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>BucketCache</h4>
-<pre>public&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.258">BucketCache</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ioEngineName,
+<pre>public&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.257">BucketCache</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ioEngineName,
                    long&nbsp;capacity,
                    int&nbsp;blockSize,
                    int[]&nbsp;bucketSizes,
@@ -1383,7 +1383,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>sanityCheckConfigs</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.329">sanityCheckConfigs</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.328">sanityCheckConfigs</a>()</pre>
 </li>
 </ul>
 <a name="startWriterThreads--">
@@ -1392,7 +1392,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>startWriterThreads</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.346">startWriterThreads</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.345">startWriterThreads</a>()</pre>
 <div class="block">Called by the constructor to start the writer threads. Used by tests that need to override
  starting the threads.</div>
 </li>
@@ -1403,7 +1403,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>isCacheEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.353">isCacheEnabled</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.352">isCacheEnabled</a>()</pre>
 </li>
 </ul>
 <a name="getMaxSize--">
@@ -1412,7 +1412,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.358">getMaxSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.357">getMaxSize</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#getMaxSize--">BlockCache</a></code></span></div>
 <div class="block">Returns the Max size of the block cache, in bytes.</div>
 <dl>
@@ -1429,7 +1429,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>getIoEngine</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.362">getIoEngine</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.361">getIoEngine</a>()</pre>
 </li>
 </ul>
 <a name="getIOEngineFromName-java.lang.String-long-java.lang.String-">
@@ -1438,7 +1438,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>getIOEngineFromName</h4>
-<pre>private&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">IOEngine</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.374">getIOEngineFromName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ioEngineName,
+<pre>private&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">IOEngine</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.373">getIOEngineFromName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ioEngineName,
                                      long&nbsp;capacity,
                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;persistencePath)
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1461,7 +1461,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheBlock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.399">cacheBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.398">cacheBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
                        <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a>&nbsp;buf)</pre>
 <div class="block">Cache the block with the specified name and buffer.</div>
 <dl>
@@ -1479,7 +1479,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheBlock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.410">cacheBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.409">cacheBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
                        <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a>&nbsp;cachedItem,
                        boolean&nbsp;inMemory)</pre>
 <div class="block">Cache the block with the specified name and buffer.</div>
@@ -1499,7 +1499,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheBlockWithWait</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.421">cacheBlockWithWait</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.420">cacheBlockWithWait</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
                                <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a>&nbsp;cachedItem,
                                boolean&nbsp;inMemory,
                                boolean&nbsp;wait)</pre>
@@ -1519,7 +1519,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlock</h4>
-<pre>public&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.484">getBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;key,
+<pre>public&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.483">getBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;key,
                           boolean&nbsp;caching,
                           boolean&nbsp;repeat,
                           boolean&nbsp;updateCacheMetrics)</pre>
@@ -1543,7 +1543,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>blockEvicted</h4>
-<pre>void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.543">blockEvicted</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
+<pre>void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.542">blockEvicted</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
                   <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntry</a>&nbsp;bucketEntry,
                   boolean&nbsp;decrementBlockNumber)</pre>
 </li>
@@ -1554,7 +1554,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>evictBlock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.553">evictBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.552">evictBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#evictBlock-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-">BlockCache</a></code></span></div>
 <div class="block">Evict block from cache.</div>
 <dl>
@@ -1573,7 +1573,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>forceEvict</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.559">forceEvict</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.558">forceEvict</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey)</pre>
 </li>
 </ul>
 <a name="checkRamCache-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-">
@@ -1582,7 +1582,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>checkRamCache</h4>
-<pre>private&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.588">checkRamCache</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey)</pre>
+<pre>private&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.587">checkRamCache</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey)</pre>
 </li>
 </ul>
 <a name="evictBlock-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-boolean-">
@@ -1591,7 +1591,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>evictBlock</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.597">evictBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.596">evictBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
                           boolean&nbsp;deletedBlock)</pre>
 </li>
 </ul>
@@ -1601,7 +1601,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>logStats</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.662">logStats</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.661">logStats</a>()</pre>
 </li>
 </ul>
 <a name="getRealCacheSize--">
@@ -1610,7 +1610,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>getRealCacheSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.688">getRealCacheSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.687">getRealCacheSize</a>()</pre>
 </li>
 </ul>
 <a name="acceptableSize--">
@@ -1619,7 +1619,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>acceptableSize</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.692">acceptableSize</a>()</pre>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.691">acceptableSize</a>()</pre>
 </li>
 </ul>
 <a name="getPartitionSize-float-">
@@ -1628,7 +1628,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>getPartitionSize</h4>
-<pre>long&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.697">getPartitionSize</a>(float&nbsp;partitionFactor)</pre>
+<pre>long&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.696">getPartitionSize</a>(float&nbsp;partitionFactor)</pre>
 </li>
 </ul>
 <a name="bucketSizesAboveThresholdCount-float-">
@@ -1637,7 +1637,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>bucketSizesAboveThresholdCount</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.704">bucketSizesAboveThresholdCount</a>(float&nbsp;minFactor)</pre>
+<pre>private&nbsp;int&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.703">bucketSizesAboveThresholdCount</a>(float&nbsp;minFactor)</pre>
 <div class="block">Return the count of bucketSizeinfos still need free space</div>
 </li>
 </ul>
@@ -1647,7 +1647,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>freeEntireBuckets</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.726">freeEntireBuckets</a>(int&nbsp;completelyFreeBucketsNeeded)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.725">freeEntireBuckets</a>(int&nbsp;completelyFreeBucketsNeeded)</pre>
 <div class="block">This method will find the buckets that are minimally occupied
  and are not reference counted and will free them completely
  without any constraint on the access times of the elements,
@@ -1665,7 +1665,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>freeSpace</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.754">freeSpace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.753">freeSpace</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why)</pre>
 <div class="block">Free the space if the used size reaches acceptableSize() or one size block
  couldn't be allocated. When freeing the space, we use the LRU algorithm and
  ensure there must be some blocks evicted</div>
@@ -1949,7 +1949,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>stopWriterThreads</h4>
-<pre>void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1490">stopWriterThreads</a>()
+<pre>void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1467">stopWriterThreads</a>()
                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Only used in test</div>
 <dl>
@@ -1964,7 +1964,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>iterator</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile">CachedBlock</a>&gt;&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1499">iterator</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile">CachedBlock</a>&gt;&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1476">iterator</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#iterator--" title="class or interface in java.lang">iterator</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/CachedBlock.html" title="interface in org.apache.hadoop.hbase.io.hfile">CachedBlock</a>&gt;</code></dd>
@@ -1981,7 +1981,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCaches</h4>
-<pre>public&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>[]&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1590">getBlockCaches</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>[]&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1567">getBlockCaches</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#getBlockCaches--">getBlockCaches</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a></code></dd>
@@ -1996,7 +1996,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>returnBlock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1595">returnBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1572">returnBlock</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey,
                         <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.html" title="interface in org.apache.hadoop.hbase.io.hfile">Cacheable</a>&nbsp;block)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html#returnBlock-org.apache.hadoop.hbase.io.hfile.BlockCacheKey-org.apache.hadoop.hbase.io.hfile.Cacheable-">BlockCache</a></code></span></div>
 <div class="block">Called when the scanner using the block decides to return the block once its usage
@@ -2020,7 +2020,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>getRefCount</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1608">getRefCount</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1585">getRefCount</a>(<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheKey.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheKey</a>&nbsp;cacheKey)</pre>
 </li>
 </ul>
 <a name="getAcceptableFactor--">
@@ -2029,7 +2029,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>getAcceptableFactor</h4>
-<pre>float&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1616">getAcceptableFactor</a>()</pre>
+<pre>float&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1593">getAcceptableFactor</a>()</pre>
 </li>
 </ul>
 <a name="getMinFactor--">
@@ -2038,7 +2038,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>getMinFactor</h4>
-<pre>float&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1620">getMinFactor</a>()</pre>
+<pre>float&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1597">getMinFactor</a>()</pre>
 </li>
 </ul>
 <a name="getExtraFreeFactor--">
@@ -2047,7 +2047,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>getExtraFreeFactor</h4>
-<pre>float&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1624">getExtraFreeFactor</a>()</pre>
+<pre>float&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1601">getExtraFreeFactor</a>()</pre>
 </li>
 </ul>
 <a name="getSingleFactor--">
@@ -2056,7 +2056,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>getSingleFactor</h4>
-<pre>float&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1628">getSingleFactor</a>()</pre>
+<pre>float&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1605">getSingleFactor</a>()</pre>
 </li>
 </ul>
 <a name="getMultiFactor--">
@@ -2065,7 +2065,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockList">
 <li class="blockList">
 <h4>getMultiFactor</h4>
-<pre>float&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1632">getMultiFactor</a>()</pre>
+<pre>float&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1609">getMultiFactor</a>()</pre>
 </li>
 </ul>
 <a name="getMemoryFactor--">
@@ -2074,7 +2074,7 @@ implements <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockC
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getMemoryFactor</h4>
-<pre>float&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1636">getMemoryFactor</a>()</pre>
+<pre>float&nbsp;<a href="../../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html#line.1613">getMemoryFactor</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCache.BucketEntryGroup.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCache.BucketEntryGroup.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCache.BucketEntryGroup.html
index 966e792..a63960f 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCache.BucketEntryGroup.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCache.BucketEntryGroup.html
@@ -72,50 +72,7 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.BucketEntryGroup" class="title">Uses of Class<br>org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.BucketEntryGroup</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/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntryGroup</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.io.hfile.bucket">org.apache.hadoop.hbase.io.hfile.bucket</a></td>
-<td class="colLast">
-<div class="block">Provides <a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><code>BucketCache</code></a>, an implementation of
- <a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile"><code>BlockCache</code></a>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.hadoop.hbase.io.hfile.bucket">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntryGroup</a> in <a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/package-summary.html">org.apache.hadoop.hbase.io.hfile.bucket</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/io/hfile/bucket/package-summary.html">org.apache.hadoop.hbase.io.hfile.bucket</a> with parameters of type <a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntryGroup</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>int</code></td>
-<td class="colLast"><span class="typeNameLabel">BucketCache.BucketEntryGroup.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html#compareTo-org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.BucketEntryGroup-">compareTo</a></span>(<a href="../../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntryGroup</a>&nbsp;that)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.io.hfile.bucket.BucketCache.BucketEntryGroup</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/package-tree.html
index 4d10157..ddd98b5 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/package-tree.html
@@ -87,7 +87,7 @@
 <li type="circle">org.apache.hadoop.hbase.io.hfile.bucket.<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.IndexStatistics.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">BucketAllocator.IndexStatistics</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.bucket.<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">BucketCache</span></a> (implements org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>, 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.io.hfile.bucket.<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">BucketCache.BucketEntry</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.bucket.<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">BucketCache.BucketEntryGroup</span></a> (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.bucket.<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntryGroup.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">BucketCache.BucketEntryGroup</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.bucket.<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.RAMQueueEntry.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">BucketCache.RAMQueueEntry</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.bucket.<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/ByteBufferIOEngine.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">ByteBufferIOEngine</span></a> (implements org.apache.hadoop.hbase.io.hfile.bucket.<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/IOEngine.html" title="interface in org.apache.hadoop.hbase.io.hfile.bucket">IOEngine</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.bucket.<a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/CachedEntryQueue.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><span class="typeNameLink">CachedEntryQueue</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/package-use.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/package-use.html
index 002af0c..5c1ee38 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/bucket/package-use.html
@@ -160,51 +160,46 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCache.BucketEntryGroup.html#org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.BucketEntryGroup</a>
-<div class="block">Used to group bucket entries into priority buckets.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colOne"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCache.RAMQueueEntry.html#org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.RAMQueueEntry</a>
 <div class="block">Block Entry stored in the memory with key,data and so on</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCache.WriterThread.html#org.apache.hadoop.hbase.io.hfile.bucket">BucketCache.WriterThread</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/class-use/BucketCacheStats.html#org.apache.hadoop.hbase.io.hfile.bucket">BucketCacheStats</a>
 <div class="block">Class that implements cache metrics for bucket cache.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/class-use/CachedEntryQueue.html#org.apache.hadoop.hbase.io.hfile.bucket">CachedEntryQueue</a>
 <div class="block">A memory-bound queue that will grow until an element brings total size larger
  than maxSize.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/class-use/CacheFullException.html#org.apache.hadoop.hbase.io.hfile.bucket">CacheFullException</a>
 <div class="block">Thrown by <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.html#allocateBlock-int-"><code>BucketAllocator.allocateBlock(int)</code></a> when cache is full for
  the requested size</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/class-use/FileIOEngine.FileAccessor.html#org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileAccessor</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/class-use/FileIOEngine.FileReadAccessor.html#org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileReadAccessor</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/class-use/FileIOEngine.FileWriteAccessor.html#org.apache.hadoop.hbase.io.hfile.bucket">FileIOEngine.FileWriteAccessor</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/class-use/IOEngine.html#org.apache.hadoop.hbase.io.hfile.bucket">IOEngine</a>
 <div class="block">A class implementing IOEngine interface supports data services for
  <a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile.bucket"><code>BucketCache</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../../org/apache/hadoop/hbase/io/hfile/bucket/class-use/UniqueIndexMap.html#org.apache.hadoop.hbase.io.hfile.bucket">UniqueIndexMap</a>
 <div class="block">Map from type T to int and vice-versa.</div>
 </td>

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


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html
index 0bbc1ee..67151bd 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CustomizedScanInfoBuilder.html
@@ -25,56 +25,70 @@
 <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>import org.apache.yetus.audience.InterfaceAudience;<a name="line.20"></a>
-<span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>/**<a name="line.22"></a>
-<span class="sourceLineNo">023</span> * Helper class for CP hooks to change max versions and TTL.<a name="line.23"></a>
-<span class="sourceLineNo">024</span> */<a name="line.24"></a>
-<span class="sourceLineNo">025</span>@InterfaceAudience.Private<a name="line.25"></a>
-<span class="sourceLineNo">026</span>public class CustomizedScanInfoBuilder implements ScanOptions {<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>  private final ScanInfo scanInfo;<a name="line.28"></a>
-<span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span>  private Integer maxVersions;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>  private Long ttl;<a name="line.32"></a>
-<span class="sourceLineNo">033</span><a name="line.33"></a>
-<span class="sourceLineNo">034</span>  public CustomizedScanInfoBuilder(ScanInfo scanInfo) {<a name="line.34"></a>
-<span class="sourceLineNo">035</span>    this.scanInfo = scanInfo;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>  }<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>  @Override<a name="line.38"></a>
-<span class="sourceLineNo">039</span>  public int getMaxVersions() {<a name="line.39"></a>
-<span class="sourceLineNo">040</span>    return maxVersions != null ? maxVersions.intValue() : scanInfo.getMaxVersions();<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  }<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>  @Override<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  public void setMaxVersions(int maxVersions) {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    this.maxVersions = maxVersions;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>  }<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>  @Override<a name="line.48"></a>
-<span class="sourceLineNo">049</span>  public long getTTL() {<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    return ttl != null ? ttl.longValue() : scanInfo.getTtl();<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>  @Override<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  public void setTTL(long ttl) {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    this.ttl = ttl;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  }<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  public ScanInfo build() {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    if (maxVersions == null &amp;&amp; ttl == null) {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>      return scanInfo;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    }<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    return scanInfo.customize(getMaxVersions(), getTTL());<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  }<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  @Override<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public String toString() {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    return "ScanOptions [maxVersions=" + getMaxVersions() + ", TTL=" + getTTL() + "]";<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
-<span class="sourceLineNo">069</span>}<a name="line.69"></a>
+<span class="sourceLineNo">020</span>import org.apache.hadoop.hbase.KeepDeletedCells;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>/**<a name="line.23"></a>
+<span class="sourceLineNo">024</span> * Helper class for CP hooks to change max versions and TTL.<a name="line.24"></a>
+<span class="sourceLineNo">025</span> */<a name="line.25"></a>
+<span class="sourceLineNo">026</span>@InterfaceAudience.Private<a name="line.26"></a>
+<span class="sourceLineNo">027</span>public class CustomizedScanInfoBuilder implements ScanOptions {<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>  private final ScanInfo scanInfo;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>  private Integer maxVersions;<a name="line.31"></a>
+<span class="sourceLineNo">032</span><a name="line.32"></a>
+<span class="sourceLineNo">033</span>  private Long ttl;<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>  private KeepDeletedCells keepDeletedCells = null;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>  public CustomizedScanInfoBuilder(ScanInfo scanInfo) {<a name="line.37"></a>
+<span class="sourceLineNo">038</span>    this.scanInfo = scanInfo;<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>  @Override<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  public int getMaxVersions() {<a name="line.42"></a>
+<span class="sourceLineNo">043</span>    return maxVersions != null ? maxVersions.intValue() : scanInfo.getMaxVersions();<a name="line.43"></a>
+<span class="sourceLineNo">044</span>  }<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>  @Override<a name="line.46"></a>
+<span class="sourceLineNo">047</span>  public void setMaxVersions(int maxVersions) {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    this.maxVersions = maxVersions;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  @Override<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  public long getTTL() {<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    return ttl != null ? ttl.longValue() : scanInfo.getTtl();<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public void setTTL(long ttl) {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    this.ttl = ttl;<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>  public ScanInfo build() {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    if (maxVersions == null &amp;&amp; ttl == null &amp;&amp; keepDeletedCells == null) {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>      return scanInfo;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    }<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    return scanInfo.customize(getMaxVersions(), getTTL(), getKeepDeletedCells());<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 String toString() {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    return "ScanOptions [maxVersions=" + getMaxVersions() + ", TTL=" + getTTL() + "]";<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  }<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>  @Override<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public void setKeepDeletedCells(KeepDeletedCells keepDeletedCells) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    this.keepDeletedCells = keepDeletedCells;<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>  @Override<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public KeepDeletedCells getKeepDeletedCells() {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    return keepDeletedCells != null ? keepDeletedCells : scanInfo.getKeepDeletedCells();<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>
 
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html
index 88c511a..ccdd6a2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html
@@ -113,7 +113,7 @@
 <span class="sourceLineNo">105</span>    throws IOException {<a name="line.105"></a>
 <span class="sourceLineNo">106</span>      try {<a name="line.106"></a>
 <span class="sourceLineNo">107</span>        // skip all other tables<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.108"></a>
+<span class="sourceLineNo">108</span>        if (Bytes.equals(table, key.getTableName().getName())) {<a name="line.108"></a>
 <span class="sourceLineNo">109</span>          for (Cell cell : value.getCells()) {<a name="line.109"></a>
 <span class="sourceLineNo">110</span>            if (WALEdit.isMetaEditFamily(cell)) {<a name="line.110"></a>
 <span class="sourceLineNo">111</span>              continue;<a name="line.111"></a>
@@ -153,10 +153,10 @@
 <span class="sourceLineNo">145</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.145"></a>
 <span class="sourceLineNo">146</span>    throws IOException {<a name="line.146"></a>
 <span class="sourceLineNo">147</span>      try {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.148"></a>
+<span class="sourceLineNo">148</span>        if (tables.isEmpty() || tables.containsKey(key.getTableName())) {<a name="line.148"></a>
 <span class="sourceLineNo">149</span>          TableName targetTable = tables.isEmpty() ?<a name="line.149"></a>
-<span class="sourceLineNo">150</span>                key.getTablename() :<a name="line.150"></a>
-<span class="sourceLineNo">151</span>                tables.get(key.getTablename());<a name="line.151"></a>
+<span class="sourceLineNo">150</span>                key.getTableName() :<a name="line.150"></a>
+<span class="sourceLineNo">151</span>                tables.get(key.getTableName());<a name="line.151"></a>
 <span class="sourceLineNo">152</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.152"></a>
 <span class="sourceLineNo">153</span>          Put put = null;<a name="line.153"></a>
 <span class="sourceLineNo">154</span>          Delete del = null;<a name="line.154"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html
index 88c511a..ccdd6a2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html
@@ -113,7 +113,7 @@
 <span class="sourceLineNo">105</span>    throws IOException {<a name="line.105"></a>
 <span class="sourceLineNo">106</span>      try {<a name="line.106"></a>
 <span class="sourceLineNo">107</span>        // skip all other tables<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.108"></a>
+<span class="sourceLineNo">108</span>        if (Bytes.equals(table, key.getTableName().getName())) {<a name="line.108"></a>
 <span class="sourceLineNo">109</span>          for (Cell cell : value.getCells()) {<a name="line.109"></a>
 <span class="sourceLineNo">110</span>            if (WALEdit.isMetaEditFamily(cell)) {<a name="line.110"></a>
 <span class="sourceLineNo">111</span>              continue;<a name="line.111"></a>
@@ -153,10 +153,10 @@
 <span class="sourceLineNo">145</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.145"></a>
 <span class="sourceLineNo">146</span>    throws IOException {<a name="line.146"></a>
 <span class="sourceLineNo">147</span>      try {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.148"></a>
+<span class="sourceLineNo">148</span>        if (tables.isEmpty() || tables.containsKey(key.getTableName())) {<a name="line.148"></a>
 <span class="sourceLineNo">149</span>          TableName targetTable = tables.isEmpty() ?<a name="line.149"></a>
-<span class="sourceLineNo">150</span>                key.getTablename() :<a name="line.150"></a>
-<span class="sourceLineNo">151</span>                tables.get(key.getTablename());<a name="line.151"></a>
+<span class="sourceLineNo">150</span>                key.getTableName() :<a name="line.150"></a>
+<span class="sourceLineNo">151</span>                tables.get(key.getTableName());<a name="line.151"></a>
 <span class="sourceLineNo">152</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.152"></a>
 <span class="sourceLineNo">153</span>          Put put = null;<a name="line.153"></a>
 <span class="sourceLineNo">154</span>          Delete del = null;<a name="line.154"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
index 88c511a..ccdd6a2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
@@ -113,7 +113,7 @@
 <span class="sourceLineNo">105</span>    throws IOException {<a name="line.105"></a>
 <span class="sourceLineNo">106</span>      try {<a name="line.106"></a>
 <span class="sourceLineNo">107</span>        // skip all other tables<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.108"></a>
+<span class="sourceLineNo">108</span>        if (Bytes.equals(table, key.getTableName().getName())) {<a name="line.108"></a>
 <span class="sourceLineNo">109</span>          for (Cell cell : value.getCells()) {<a name="line.109"></a>
 <span class="sourceLineNo">110</span>            if (WALEdit.isMetaEditFamily(cell)) {<a name="line.110"></a>
 <span class="sourceLineNo">111</span>              continue;<a name="line.111"></a>
@@ -153,10 +153,10 @@
 <span class="sourceLineNo">145</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.145"></a>
 <span class="sourceLineNo">146</span>    throws IOException {<a name="line.146"></a>
 <span class="sourceLineNo">147</span>      try {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.148"></a>
+<span class="sourceLineNo">148</span>        if (tables.isEmpty() || tables.containsKey(key.getTableName())) {<a name="line.148"></a>
 <span class="sourceLineNo">149</span>          TableName targetTable = tables.isEmpty() ?<a name="line.149"></a>
-<span class="sourceLineNo">150</span>                key.getTablename() :<a name="line.150"></a>
-<span class="sourceLineNo">151</span>                tables.get(key.getTablename());<a name="line.151"></a>
+<span class="sourceLineNo">150</span>                key.getTableName() :<a name="line.150"></a>
+<span class="sourceLineNo">151</span>                tables.get(key.getTableName());<a name="line.151"></a>
 <span class="sourceLineNo">152</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.152"></a>
 <span class="sourceLineNo">153</span>          Put put = null;<a name="line.153"></a>
 <span class="sourceLineNo">154</span>          Delete del = null;<a name="line.154"></a>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntry.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntry.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntry.html
index b7c24d7..eecd2f9 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntry.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.BucketEntry.html
@@ -44,792 +44,792 @@
 <span class="sourceLineNo">036</span>import java.util.List;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import java.util.Map;<a name="line.37"></a>
 <span class="sourceLineNo">038</span>import java.util.NavigableSet;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.Objects;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.PriorityQueue;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.concurrent.ArrayBlockingQueue;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.concurrent.BlockingQueue;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.ConcurrentMap;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentSkipListSet;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.Executors;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.TimeUnit;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.atomic.LongAdder;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.locks.Lock;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.conf.Configuration;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.io.hfile.BlockPriority;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.hfile.BlockType;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.hfile.CacheStats;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.hfile.Cacheable;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.hfile.Cacheable.MemoryType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializer;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializerIdManager;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.CachedBlock;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileBlock;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.IdReadWriteLock;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.util.IdReadWriteLock.ReferenceType;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.util.StringUtils;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.slf4j.Logger;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.slf4j.LoggerFactory;<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>/**<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * BucketCache uses {@link BucketAllocator} to allocate/free blocks, and uses<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * BucketCache#ramCache and BucketCache#backingMap in order to<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * determine if a given element is in the cache. The bucket cache can use on-heap or<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * off-heap memory {@link ByteBufferIOEngine} or in a file {@link FileIOEngine} to<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * store/read the block data.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> *<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;Eviction is via a similar algorithm as used in<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache}<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;p&gt;BucketCache can be used as mainly a block cache (see<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * {@link org.apache.hadoop.hbase.io.hfile.CombinedBlockCache}), combined with<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * LruBlockCache to decrease CMS GC and heap fragmentation.<a name="line.97"></a>
-<span class="sourceLineNo">098</span> *<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * &lt;p&gt;It also can be used as a secondary cache (e.g. using a file on ssd/fusionio to store<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * blocks) to enlarge cache space via<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache#setVictimCache}<a name="line.101"></a>
-<span class="sourceLineNo">102</span> */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>@InterfaceAudience.Private<a name="line.103"></a>
-<span class="sourceLineNo">104</span>public class BucketCache implements BlockCache, HeapSize {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  private static final Logger LOG = LoggerFactory.getLogger(BucketCache.class);<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  /** Priority buckets config */<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  static final String SINGLE_FACTOR_CONFIG_NAME = "hbase.bucketcache.single.factor";<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  static final String MULTI_FACTOR_CONFIG_NAME = "hbase.bucketcache.multi.factor";<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  static final String MEMORY_FACTOR_CONFIG_NAME = "hbase.bucketcache.memory.factor";<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  static final String EXTRA_FREE_FACTOR_CONFIG_NAME = "hbase.bucketcache.extrafreefactor";<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  static final String ACCEPT_FACTOR_CONFIG_NAME = "hbase.bucketcache.acceptfactor";<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  static final String MIN_FACTOR_CONFIG_NAME = "hbase.bucketcache.minfactor";<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /** Priority buckets */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  @VisibleForTesting<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  static final float DEFAULT_SINGLE_FACTOR = 0.25f;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  static final float DEFAULT_MULTI_FACTOR = 0.50f;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  static final float DEFAULT_MEMORY_FACTOR = 0.25f;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  static final float DEFAULT_MIN_FACTOR = 0.85f;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private static final float DEFAULT_EXTRA_FREE_FACTOR = 0.10f;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  private static final float DEFAULT_ACCEPT_FACTOR = 0.95f;<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  // Number of blocks to clear for each of the bucket size that is full<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  private static final int DEFAULT_FREE_ENTIRE_BLOCK_FACTOR = 2;<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>  /** Statistics thread */<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  private static final int statThreadPeriod = 5 * 60;<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  final static int DEFAULT_WRITER_THREADS = 3;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  final static int DEFAULT_WRITER_QUEUE_ITEMS = 64;<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  // Store/read block data<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  final IOEngine ioEngine;<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  // Store the block in this map before writing it to cache<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  @VisibleForTesting<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  final ConcurrentMap&lt;BlockCacheKey, RAMQueueEntry&gt; ramCache;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  // In this map, store the block's meta data like offset, length<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  @VisibleForTesting<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  ConcurrentMap&lt;BlockCacheKey, BucketEntry&gt; backingMap;<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * Flag if the cache is enabled or not... We shut it off if there are IO<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * errors for some time, so that Bucket IO exceptions/errors don't bring down<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * the HBase server.<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   */<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private volatile boolean cacheEnabled;<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 list of writer queues.  We have a queue per {@link WriterThread} we have running.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * In other words, the work adding blocks to the BucketCache is divided up amongst the<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * running WriterThreads.  Its done by taking hash of the cache key modulo queue count.<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * WriterThread when it runs takes whatever has been recently added and 'drains' the entries<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * to the BucketCache.  It then updates the ramCache and backingMap accordingly.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @VisibleForTesting<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  final ArrayList&lt;BlockingQueue&lt;RAMQueueEntry&gt;&gt; writerQueues = new ArrayList&lt;&gt;();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  @VisibleForTesting<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  final WriterThread[] writerThreads;<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>  /** Volatile boolean to track if free space is in process or not */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  private volatile boolean freeInProgress = false;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  private final Lock freeSpaceLock = new ReentrantLock();<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>  private UniqueIndexMap&lt;Integer&gt; deserialiserMap = new UniqueIndexMap&lt;&gt;();<a name="line.167"></a>
-<span class="sourceLineNo">168</span><a name="line.168"></a>
-<span class="sourceLineNo">169</span>  private final LongAdder realCacheSize = new LongAdder();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  private final LongAdder heapSize = new LongAdder();<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  /** Current number of cached elements */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  private final LongAdder blockNumber = new LongAdder();<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  /** Cache access count (sequential ID) */<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  private final AtomicLong accessCount = new AtomicLong();<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>  private static final int DEFAULT_CACHE_WAIT_TIME = 50;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  // Used in test now. If the flag is false and the cache speed is very fast,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  // bucket cache will skip some blocks when caching. If the flag is true, we<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  // will wait blocks flushed to IOEngine for some time when caching<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  boolean wait_when_cache = false;<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  private final BucketCacheStats cacheStats = new BucketCacheStats();<a name="line.183"></a>
-<span class="sourceLineNo">184</span><a name="line.184"></a>
-<span class="sourceLineNo">185</span>  private final String persistencePath;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  private final long cacheCapacity;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  /** Approximate block size */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private final long blockSize;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  /** Duration of IO errors tolerated before we disable cache, 1 min as default */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private final int ioErrorsTolerationDuration;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  // 1 min<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  public static final int DEFAULT_ERROR_TOLERATION_DURATION = 60 * 1000;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>  // Start time of first IO error when reading or writing IO Engine, it will be<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  // reset after a successful read/write.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private volatile long ioErrorStartTime = -1;<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 ReentrantReadWriteLock to lock on a particular block identified by offset.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * The purpose of this is to avoid freeing the block which is being read.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * &lt;p&gt;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * Key set of offsets in BucketCache is limited so soft reference is the best choice here.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  @VisibleForTesting<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  final IdReadWriteLock offsetLock = new IdReadWriteLock(ReferenceType.SOFT);<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  private final NavigableSet&lt;BlockCacheKey&gt; blocksByHFile =<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      new ConcurrentSkipListSet&lt;&gt;(new Comparator&lt;BlockCacheKey&gt;() {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        public int compare(BlockCacheKey a, BlockCacheKey b) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>          int nameComparison = a.getHfileName().compareTo(b.getHfileName());<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          if (nameComparison != 0) {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>            return nameComparison;<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>          if (a.getOffset() == b.getOffset()) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>            return 0;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>          } else if (a.getOffset() &lt; b.getOffset()) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>            return -1;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>          }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>          return 1;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      });<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  /** Statistics thread schedule pool (for heavy debugging, could remove) */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private final ScheduledExecutorService scheduleThreadPool = Executors.newScheduledThreadPool(1,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    new ThreadFactoryBuilder().setNameFormat("BucketCacheStatsExecutor").setDaemon(true).build());<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  // Allocate or free space for the block<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  private BucketAllocator bucketAllocator;<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span>  /** Acceptable size of cache (no evictions if size &lt; acceptable) */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private float acceptableFactor;<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /** Minimum threshold of cache (when evicting, evict until size &lt; min) */<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  private float minFactor;<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /** Free this floating point factor of extra blocks when evicting. For example free the number of blocks requested * (1 + extraFreeFactor) */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private float extraFreeFactor;<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /** Single access bucket size */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private float singleFactor;<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /** Multiple access bucket size */<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  private float multiFactor;<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  /** In-memory bucket size */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private float memoryFactor;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  public BucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes,<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      int writerThreadNum, int writerQLen, String persistencePath) throws FileNotFoundException,<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      IOException {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    this(ioEngineName, capacity, blockSize, bucketSizes, writerThreadNum, writerQLen,<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      persistencePath, DEFAULT_ERROR_TOLERATION_DURATION, HBaseConfiguration.create());<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>  public BucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes,<a name="line.258"></a>
-<span class="sourceLineNo">259</span>                     int writerThreadNum, int writerQLen, String persistencePath, int ioErrorsTolerationDuration,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                     Configuration conf)<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throws FileNotFoundException, IOException {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    this.ioEngine = getIOEngineFromName(ioEngineName, capacity, persistencePath);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    this.writerThreads = new WriterThread[writerThreadNum];<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    long blockNumCapacity = capacity / blockSize;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (blockNumCapacity &gt;= Integer.MAX_VALUE) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      // Enough for about 32TB of cache!<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      throw new IllegalArgumentException("Cache capacity is too large, only support 32TB now");<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>    this.acceptableFactor = conf.getFloat(ACCEPT_FACTOR_CONFIG_NAME, DEFAULT_ACCEPT_FACTOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    this.minFactor = conf.getFloat(MIN_FACTOR_CONFIG_NAME, DEFAULT_MIN_FACTOR);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    this.extraFreeFactor = conf.getFloat(EXTRA_FREE_FACTOR_CONFIG_NAME, DEFAULT_EXTRA_FREE_FACTOR);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    this.singleFactor = conf.getFloat(SINGLE_FACTOR_CONFIG_NAME, DEFAULT_SINGLE_FACTOR);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    this.multiFactor = conf.getFloat(MULTI_FACTOR_CONFIG_NAME, DEFAULT_MULTI_FACTOR);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    this.memoryFactor = conf.getFloat(MEMORY_FACTOR_CONFIG_NAME, DEFAULT_MEMORY_FACTOR);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>    sanityCheckConfigs();<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>    LOG.info("Instantiating BucketCache with acceptableFactor: " + acceptableFactor + ", minFactor: " + minFactor +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        ", extraFreeFactor: " + extraFreeFactor + ", singleFactor: " + singleFactor + ", multiFactor: " + multiFactor +<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        ", memoryFactor: " + memoryFactor);<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    this.cacheCapacity = capacity;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    this.persistencePath = persistencePath;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    this.blockSize = blockSize;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    this.ioErrorsTolerationDuration = ioErrorsTolerationDuration;<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>    bucketAllocator = new BucketAllocator(capacity, bucketSizes);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    for (int i = 0; i &lt; writerThreads.length; ++i) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      writerQueues.add(new ArrayBlockingQueue&lt;&gt;(writerQLen));<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    assert writerQueues.size() == writerThreads.length;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    this.ramCache = new ConcurrentHashMap&lt;&gt;();<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    this.backingMap = new ConcurrentHashMap&lt;&gt;((int) blockNumCapacity);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if (ioEngine.isPersistent() &amp;&amp; persistencePath != null) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      try {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        retrieveFromFile(bucketSizes);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      } catch (IOException ioex) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        LOG.error("Can't restore from file because of", ioex);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      } catch (ClassNotFoundException cnfe) {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        LOG.error("Can't restore from file in rebuild because can't deserialise",cnfe);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        throw new RuntimeException(cnfe);<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>    final String threadName = Thread.currentThread().getName();<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    this.cacheEnabled = true;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    for (int i = 0; i &lt; writerThreads.length; ++i) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      writerThreads[i] = new WriterThread(writerQueues.get(i));<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      writerThreads[i].setName(threadName + "-BucketCacheWriter-" + i);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      writerThreads[i].setDaemon(true);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    startWriterThreads();<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    // Run the statistics thread periodically to print the cache statistics log<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    // TODO: Add means of turning this off.  Bit obnoxious running thread just to make a log<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    // every five minutes.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    this.scheduleThreadPool.scheduleAtFixedRate(new StatisticsThread(this),<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        statThreadPeriod, statThreadPeriod, TimeUnit.SECONDS);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    LOG.info("Started bucket cache; ioengine=" + ioEngineName +<a name="line.322"></a>
-<span class="sourceLineNo">323</span>        ", capacity=" + StringUtils.byteDesc(capacity) +<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      ", blockSize=" + StringUtils.byteDesc(blockSize) + ", writerThreadNum=" +<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        writerThreadNum + ", writerQLen=" + writerQLen + ", persistencePath=" +<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      persistencePath + ", bucketAllocator=" + this.bucketAllocator.getClass().getName());<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>  private void sanityCheckConfigs() {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Preconditions.checkArgument(acceptableFactor &lt;= 1 &amp;&amp; acceptableFactor &gt;= 0, ACCEPT_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    Preconditions.checkArgument(minFactor &lt;= 1 &amp;&amp; minFactor &gt;= 0, MIN_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Preconditions.checkArgument(minFactor &lt;= acceptableFactor, MIN_FACTOR_CONFIG_NAME + " must be &lt;= " + ACCEPT_FACTOR_CONFIG_NAME);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    Preconditions.checkArgument(extraFreeFactor &gt;= 0, EXTRA_FREE_FACTOR_CONFIG_NAME + " must be greater than 0.0");<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    Preconditions.checkArgument(singleFactor &lt;= 1 &amp;&amp; singleFactor &gt;= 0, SINGLE_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    Preconditions.checkArgument(multiFactor &lt;= 1 &amp;&amp; multiFactor &gt;= 0, MULTI_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    Preconditions.checkArgument(memoryFactor &lt;= 1 &amp;&amp; memoryFactor &gt;= 0, MEMORY_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    Preconditions.checkArgument((singleFactor + multiFactor + memoryFactor) == 1, SINGLE_FACTOR_CONFIG_NAME + ", " +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        MULTI_FACTOR_CONFIG_NAME + ", and " + MEMORY_FACTOR_CONFIG_NAME + " segments must add up to 1.0");<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  }<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  /**<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * Called by the constructor to start the writer threads. Used by tests that need to override<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * starting the threads.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @VisibleForTesting<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  protected void startWriterThreads() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    for (WriterThread thread : writerThreads) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      thread.start();<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>  @VisibleForTesting<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  boolean isCacheEnabled() {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    return this.cacheEnabled;<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>  @Override<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public long getMaxSize() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    return this.cacheCapacity;<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>  public String getIoEngine() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    return ioEngine.toString();<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>   * Get the IOEngine from the IO engine name<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @param ioEngineName<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * @param capacity<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * @param persistencePath<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @return the IOEngine<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @throws IOException<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  private IOEngine getIOEngineFromName(String ioEngineName, long capacity, String persistencePath)<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      throws IOException {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    if (ioEngineName.startsWith("file:") || ioEngineName.startsWith("files:")) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      // In order to make the usage simple, we only need the prefix 'files:' in<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      // document whether one or multiple file(s), but also support 'file:' for<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      // the compatibility<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      String[] filePaths = ioEngineName.substring(ioEngineName.indexOf(":") + 1)<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          .split(FileIOEngine.FILE_DELIMITER);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return new FileIOEngine(capacity, persistencePath != null, filePaths);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    } else if (ioEngineName.startsWith("offheap")) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      return new ByteBufferIOEngine(capacity);<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    } else if (ioEngineName.startsWith("mmap:")) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      return new FileMmapEngine(ioEngineName.substring(5), capacity);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    } else {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      throw new IllegalArgumentException(<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          "Don't understand io engine name for cache- prefix with file:, files:, mmap: or offheap");<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  }<a name="line.391"></a>
-<span class="sourceLineNo">392</span><a name="line.392"></a>
-<span class="sourceLineNo">393</span>  /**<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * Cache the block with the specified name and buffer.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * @param cacheKey block's cache key<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * @param buf block buffer<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   */<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public void cacheBlock(BlockCacheKey cacheKey, Cacheable buf) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    cacheBlock(cacheKey, buf, false);<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>   * Cache the block with the specified name and buffer.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param cacheKey block's cache key<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param cachedItem block buffer<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * @param inMemory if block is in-memory<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   */<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  @Override<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  public void cacheBlock(BlockCacheKey cacheKey, Cacheable cachedItem, boolean inMemory) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    cacheBlockWithWait(cacheKey, cachedItem, inMemory, wait_when_cache);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * Cache the block to ramCache<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @param cacheKey block's cache key<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @param cachedItem block buffer<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @param inMemory if block is in-memory<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * @param wait if true, blocking wait when queue is full<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   */<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  public void cacheBlockWithWait(BlockCacheKey cacheKey, Cacheable cachedItem, boolean inMemory,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      boolean wait) {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    if (LOG.isTraceEnabled()) LOG.trace("Caching key=" + cacheKey + ", item=" + cachedItem);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    if (!cacheEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      return;<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>    if (backingMap.containsKey(cacheKey)) {<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      Cacheable existingBlock = getBlock(cacheKey, false, false, false);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      try {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        if (BlockCacheUtil.compareCacheBlock(cachedItem, existingBlock) != 0) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>          throw new RuntimeException("Cached block contents differ, which should not have happened."<a name="line.432"></a>
-<span class="sourceLineNo">433</span>              + "cacheKey:" + cacheKey);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        }<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        String msg = "Caching an already cached block: " + cacheKey;<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        msg += ". This is harmless and can happen in rare cases (see HBASE-8547)";<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        LOG.warn(msg);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      } finally {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        // return the block since we need to decrement the count<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        returnBlock(cacheKey, existingBlock);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      }<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>    /*<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * Stuff the entry into the RAM cache so it can get drained to the persistent store<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    RAMQueueEntry re =<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        new RAMQueueEntry(cacheKey, cachedItem, accessCount.incrementAndGet(), inMemory);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    if (ramCache.putIfAbsent(cacheKey, re) != null) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      return;<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    }<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    int queueNum = (cacheKey.hashCode() &amp; 0x7FFFFFFF) % writerQueues.size();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    BlockingQueue&lt;RAMQueueEntry&gt; bq = writerQueues.get(queueNum);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    boolean successfulAddition = false;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    if (wait) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      try {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        successfulAddition = bq.offer(re, DEFAULT_CACHE_WAIT_TIME, TimeUnit.MILLISECONDS);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      } catch (InterruptedException e) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        Thread.currentThread().interrupt();<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    } else {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      successfulAddition = bq.offer(re);<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    if (!successfulAddition) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      ramCache.remove(cacheKey);<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      cacheStats.failInsert();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    } else {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      this.blockNumber.increment();<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      this.heapSize.add(cachedItem.heapSize());<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      blocksByHFile.add(cacheKey);<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>  /**<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * Get the buffer of the block with the specified key.<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * @param key block's cache key<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @param caching true if the caller caches blocks on cache misses<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * @param repeat Whether this is a repeat lookup for the same block<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @param updateCacheMetrics Whether we should update cache metrics or not<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @return buffer of specified cache key, or null if not in cache<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  @Override<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  public Cacheable getBlock(BlockCacheKey key, boolean caching, boolean repeat,<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      boolean updateCacheMetrics) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    if (!cacheEnabled) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return null;<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    RAMQueueEntry re = ramCache.get(key);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (re != null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      if (updateCacheMetrics) {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      }<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      re.access(accessCount.incrementAndGet());<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      return re.getData();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    }<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    BucketEntry bucketEntry = backingMap.get(key);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    if (bucketEntry != null) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      long start = System.nanoTime();<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      try {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>        lock.readLock().lock();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        // We can not read here even if backingMap does contain the given key because its offset<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        // maybe changed. If we lock BlockCacheKey instead of offset, then we can only check<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        // existence here.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>        if (bucketEntry.equals(backingMap.get(key))) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>          // TODO : change this area - should be removed after server cells and<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          // 12295 are available<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          int len = bucketEntry.getLength();<a name="line.509"></a>
-<span class="sourceLineNo">510</span>          if (LOG.isTraceEnabled()) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>            LOG.trace("Read offset=" + bucketEntry.offset() + ", len=" + len);<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          }<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          Cacheable cachedBlock = ioEngine.read(bucketEntry.offset(), len,<a name="line.513"></a>
-<span class="sourceLineNo">514</span>              bucketEntry.deserializerReference(this.deserialiserMap));<a name="line.514"></a>
-<span class="sourceLineNo">515</span>          long timeTaken = System.nanoTime() - start;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          if (updateCacheMetrics) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>            cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.517"></a>
-<span class="sourceLineNo">518</span>            cacheStats.ioHit(timeTaken);<a name="line.518"></a>
-<span class="sourceLineNo">519</span>          }<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          if (cachedBlock.getMemoryType() == MemoryType.SHARED) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>            bucketEntry.refCount.incrementAndGet();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>          bucketEntry.access(accessCount.incrementAndGet());<a name="line.523"></a>
-<span class="sourceLineNo">524</span>          if (this.ioErrorStartTime &gt; 0) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>            ioErrorStartTime = -1;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>          }<a name="line.526"></a>
-<span class="sourceLineNo">527</span>          return cachedBlock;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      } catch (IOException ioex) {<a name="line.529"></a>
-<span class="sourceLineNo">530</span>        LOG.error("Failed reading block " + key + " from bucket cache", ioex);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        checkIOErrorIsTolerated();<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      } finally {<a name="line.532"></a>
-<span class="sourceLineNo">533</span>        lock.readLock().unlock();<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>    if (!repeat &amp;&amp; updateCacheMetrics) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      cacheStats.miss(caching, key.isPrimary(), key.getBlockType());<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    return null;<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>  @VisibleForTesting<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  void blockEvicted(BlockCacheKey cacheKey, BucketEntry bucketEntry, boolean decrementBlockNumber) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    bucketAllocator.freeBlock(bucketEntry.offset());<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    realCacheSize.add(-1 * bucketEntry.getLength());<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    blocksByHFile.remove(cacheKey);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    if (decrementBlockNumber) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.blockNumber.decrement();<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>  }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>  @Override<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  public boolean evictBlock(BlockCacheKey cacheKey) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    return evictBlock(cacheKey, true);<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>  // does not check for the ref count. Just tries to evict it if found in the<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  // bucket map<a name="line.558"></a>
-<span class="sourceLineNo">559</span>  private boolean forceEvict(BlockCacheKey cacheKey) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    if (!cacheEnabled) {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      return false;<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    }<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    RAMQueueEntry removedBlock = checkRamCache(cacheKey);<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    BucketEntry bucketEntry = backingMap.get(cacheKey);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    if (bucketEntry == null) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      if (removedBlock != null) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>        cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.567"></a>
-<span class="sourceLineNo">568</span>        return true;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      } else {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>        return false;<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>    ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    try {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      lock.writeLock().lock();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (backingMap.remove(cacheKey, bucketEntry)) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        blockEvicted(cacheKey, bucketEntry, removedBlock == null);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      } else {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>        return false;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    } finally {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      lock.writeLock().unlock();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    cacheStats.evicted(bucketEntry.getCachedTime(), cacheKey.isPrimary());<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    return true;<a name="line.585"></a>
-<span class="sourceLineNo">586</span>  }<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>  private RAMQueueEntry checkRamCache(BlockCacheKey cacheKey) {<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    RAMQueueEntry removedBlock = ramCache.remove(cacheKey);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    if (removedBlock != null) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      this.blockNumber.decrement();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      this.heapSize.add(-1 * removedBlock.getData().heapSize());<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    }<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    return removedBlock;<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 boolean evictBlock(BlockCacheKey cacheKey, boolean deletedBlock) {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    if (!cacheEnabled) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      return false;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    }<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    RAMQueueEntry removedBlock = checkRamCache(cacheKey);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    BucketEntry bucketEntry = backingMap.get(cacheKey);<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    if (bucketEntry == null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      if (removedBlock != null) {<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        return true;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      } else {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>        return false;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      }<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    }<a name="line.610"></a>
-<span class="sourceLineNo">611</span>    ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    try {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      lock.writeLock().lock();<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      int refCount = bucketEntry.refCount.get();<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      if(refCount == 0) {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        if (backingMap.remove(cacheKey, bucketEntry)) {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>          blockEvicted(cacheKey, bucketEntry, removedBlock == null);<a name="line.617"></a>
-<span class="sourceLineNo">618</span>        } else {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>          return false;<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        }<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      } else {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>        if(!deletedBlock) {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>          if (LOG.isDebugEnabled()) {<a name="line.623"></a>
-<span class="sourceLineNo">624</span>            LOG.debug("This block " + cacheKey + " is still referred by " + refCount<a name="line.624"></a>
-<span class="sourceLineNo">625</span>                + " readers. Can not be freed now");<a name="line.625"></a>
-<span class="sourceLineNo">626</span>          }<a name="line.626"></a>
-<span class="sourceLineNo">627</span>          return false;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        } else {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>          if (LOG.isDebugEnabled()) {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>            LOG.debug("This block " + cacheKey + " is still referred by " + refCount<a name="line.630"></a>
-<span class="sourceLineNo">631</span>                + " readers. Can not be freed now. Hence will mark this"<a name="line.631"></a>
-<span class="sourceLineNo">632</span>                + " for evicting at a later point");<a name="line.632"></a>
-<span class="sourceLineNo">633</span>          }<a name="line.633"></a>
-<span class="sourceLineNo">634</span>          bucketEntry.markedForEvict = true;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        }<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      }<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    } finally {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      lock.writeLock().unlock();<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    }<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    cacheStats.evicted(bucketEntry.getCachedTime(), cacheKey.isPrimary());<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    return true;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>  }<a name="line.642"></a>
-<span class="sourceLineNo">643</span><a name="line.643"></a>
-<span class="sourceLineNo">644</span>  /*<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * Statistics thread.  Periodically output cache statistics to the log.<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  private static class StatisticsThread extends Thread {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    private final BucketCache bucketCache;<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span>    public StatisticsThread(BucketCache bucketCache) {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      super("BucketCacheStatsThread");<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      setDaemon(true);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      this.bucketCache = bucketCache;<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>    @Override<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    public void run() {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>      bucketCache.logStats();<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    }<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  }<a name="line.660"></a>
-<span class="sourceLineNo">661</span><a name="line.661"></a>
-<span class="sourceLineNo">662</span>  public void logStats() {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    long totalSize = bucketAllocator.getTotalSize();<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    long usedSize = bucketAllocator.getUsedSize();<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    long freeSize = totalSize - usedSize;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    long cacheSize = getRealCacheSize();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    LOG.info("failedBlockAdditions=" + cacheStats.getFailedInserts() + ", " +<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        "totalSize=" + StringUtils.byteDesc(totalSize) + ", " +<a name="line.668"></a>
-<span class="sourceLineNo">669</span>        "freeSize=" + StringUtils.byteDesc(freeSize) + ", " +<a name="line.669"></a>
-<span class="sourceLineNo">670</span>        "usedSize=" + StringUtils.byteDesc(usedSize) +", " +<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        "cacheSize=" + StringUtils.byteDesc(cacheSize) +", " +<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        "accesses=" + cacheStats.getRequestCount() + ", " +<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        "hits=" + cacheStats.getHitCount() + ", " +<a name="line.673"></a>
-<span class="sourceLineNo">674</span>        "IOhitsPerSecond=" + cacheStats.getIOHitsPerSecond() + ", " +<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        "IOTimePerHit=" + String.format("%.2f", cacheStats.getIOTimePerHit())+ ", " +<a name="line.675"></a>
-<span class="sourceLineNo">676</span>        "hitRatio=" + (cacheStats.getHitCount() == 0 ? "0," :<a name="line.676"></a>
-<span class="sourceLineNo">677</span>          (StringUtils.formatPercent(cacheStats.getHitRatio(), 2)+ ", ")) +<a name="line.677"></a>
-<span class="sourceLineNo">678</span>        "cachingAccesses=" + cacheStats.getRequestCachingCount() + ", " +<a name="line.678"></a>
-<span class="sourceLineNo">679</span>        "cachingHits=" + cacheStats.getHitCachingCount() + ", " +<a name="line.679"></a>
-<span class="sourceLineNo">680</span>        "cachingHitsRatio=" +(cacheStats.getHitCachingCount() == 0 ? "0," :<a name="line.680"></a>
-<span class="sourceLineNo">681</span>          (StringUtils.formatPercent(cacheStats.getHitCachingRatio(), 2)+ ", ")) +<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        "evictions=" + cacheStats.getEvictionCount() + ", " +<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        "evicted=" + cacheStats.getEvictedCount() + ", " +<a name="line.683"></a>
-<span class="sourceLineNo">684</span>        "evictedPerRun=" + cacheStats.evictedPerEviction());<a name="line.684"></a>
-<span class="sourceLineNo">685</span>    cacheStats.reset();<a name="line.685"></a>
-<span class="sourceLineNo">686</span>  }<a name="line.686"></a>
-<span class="sourceLineNo">687</span><a name="line.687"></a>
-<span class="sourceLineNo">688</span>  public long getRealCacheSize() {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    return this.realCacheSize.sum();<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>  private long acceptableSize() {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>    return (long) Math.floor(bucketAllocator.getTotalSize() * acceptableFactor);<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>  @VisibleForTesting<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  long getPartitionSize(float partitionFactor) {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return (long) Math.floor(bucketAllocator.getTotalSize() * partitionFactor * minFactor);<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>  /**<a name="line.701"></a>
-<span class="sourceLineNo">702</span>   * Return the count of bucketSizeinfos still need free space<a name="line.702"></a>
-<span class="sourceLineNo">703</span>   */<a name="line.703"></a>
-<span class="sourceLineNo">704</span>  private int bucketSizesAboveThresholdCount(float minFactor) {<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    int fullCount = 0;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    for (int i = 0; i &lt; stats.length; i++) {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      freeGoal = Math.max(freeGoal, 1);<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      if (stats[i].freeCount() &lt; freeGoal) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        fullCount++;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      }<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    }<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    return fullCount;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>  }<a name="line.715"></a>
-<span class="sourceLineNo">716</span><a name="line.716"></a>
-<span class="sourceLineNo">717</span>  /**<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * This method will find the buckets that are minimally occupied<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   * and are not reference counted and will free them completely<a name="line.719"></a>
-<span class="sourceLineNo">720</span>   * without any constraint on the access times of the elements,<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   * and as a process will completely free at most the number of buckets<a name="line.721"></a>
-<span class="sourceLineNo">722</span>   * passed, sometimes it might not due to changing refCounts<a name="line.722"></a>
-<span class="sourceLineNo">723</span>   *<a name="line.723"></a>
-<span class="sourceLineNo">724</span>   * @param completelyFreeBucketsNeeded number of buckets to free<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   **/<a name="line.725"></a>
-<span class="sourceLineNo">726</span>  private void freeEntireBuckets(int completelyFreeBucketsNeeded) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    if (completelyFreeBucketsNeeded != 0) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      // First we will build a set where the offsets are reference counted, usually<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      // this set is small around O(Handler Count) unless something else is wrong<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      Set&lt;Integer&gt; inUseBuckets = new HashSet&lt;Integer&gt;();<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      for (BucketEntry entry : backingMap.values()) {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>        if (entry.refCount.get() != 0) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>          inUseBuckets.add(bucketAllocator.getBucketIndex(entry.offset()));<a name="line.733"></a>
-<span class="sourceLineNo">734</span>        }<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>      Set&lt;Integer&gt; candidateBuckets = bucketAllocator.getLeastFilledBuckets(<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          inUseBuckets, completelyFreeBucketsNeeded);<a name="line.738"></a>
-<span class="sourceLineNo">739</span>      for (Map.Entry&lt;BlockCacheKey, BucketEntry&gt; entry : backingMap.entrySet()) {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>        if (candidateBuckets.contains(bucketAllocator<a name="line.740"></a>
-<span class="sourceLineNo">741</span>            .getBucketIndex(entry.getValue().offset()))) {<a name="line.741"></a>
-<span class="sourceLineNo">742</span>          evictBlock(entry.getKey(), false);<a name="line.742"></a>
-<span class="sourceLineNo">743</span>        }<a name="line.743"></a>
-<span class="sourceLineNo">744</span>      }<a name="line.744"></a>
-<span class="sourceLineNo">745</span>    }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>  }<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>   * Free the space if the used size reaches acceptableSize() or one size block<a name="line.749"></a>
-<span class="sourceLineNo">750</span>   * couldn't be allocated. When freeing the space, we use the LRU algorithm and<a name="line.750"></a>
-<span class="sourceLineNo">751</span>   * ensure there must be some blocks evicted<a name="line.751"></a>
-<span class="sourceLineNo">752</span>   * @param why Why we are being called<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   */<a name="line.753"></a>
-<span class="sourceLineNo">754</span>  private void freeSpace(final String why) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span>    // Ensure only one freeSpace progress at a time<a name="line.755"></a>
-<span class="sourceLineNo">756</span>    if (!freeSpaceLock.tryLock()) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    try {<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      freeInProgress = true;<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      long bytesToFreeWithoutExtra = 0;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // Calculate free byte for each bucketSizeinfo<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      StringBuilder msgBuffer = LOG.isDebugEnabled()? new StringBuilder(): null;<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      long[] bytesToFreeForBucket = new long[stats.length];<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      for (int i = 0; i &lt; stats.length; i++) {<a name="line.766"></a>
-<span class="sourceLineNo">767</span>        bytesToFreeForBucket[i] = 0;<a name="line.767"></a>
-<span class="sourceLineNo">768</span>        long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.768"></a>
-<span class="sourceLineNo">769</span>        freeGoal = Math.max(freeGoal, 1);<a name="line.769"></a>
-<span class="sourceLineNo">770</span>        if (stats[i].freeCount() &lt; freeGoal) {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>          bytesToFreeForBucket[i] = stats[i].itemSize() * (freeGoal - stats[i].freeCount());<a name="line.771"></a>
-<span class="sourceLineNo">772</span>          bytesToFreeWithoutExtra += bytesToFreeForBucket[i];<a name="line.772"></a>
-<span class="sourceLineNo">773</span>          if (msgBuffer != null) {<a name="line.773"></a>
-<span class="sourceLineNo">774</span>            msgBuffer.append("Free for bucketSize(" + stats[i].itemSize() + ")="<a name="line.774"></a>
-<span class="sourceLineNo">775</span>              + StringUtils.byteDesc(bytesToFreeForBucket[i]) + ", ");<a name="line.775"></a>
-<span class="sourceLineNo">776</span>          }<a name="line.776"></a>
-<span class="sourceLineNo">777</span>        }<a name="line.777"></a>
-<span class="sourceLineNo">778</span>      }<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      if (msgBuffer != null) {<a name="line.779"></a>
-<span class="sourceLineNo">780</span>        msgBuffer.append("Free for total=" + StringUtils.byteDesc(bytesToFreeWithoutExtra) + ", ");<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>      if (bytesToFreeWithoutExtra &lt;= 0) {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        return;<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      }<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      long currentSize = bucketAllocator.getUsedSize();<a name="line.786"></a>
-<span class="sourceLineNo">787</span>      long totalSize = bucketAllocator.getTotalSize();<a name="line.787"></a>
-<span class="sourceLineNo">788</span>      if (LOG.isDebugEnabled() &amp;&amp; msgBuffer != null) {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>        LOG.debug("Free started because \"" + why + "\"; " + msgBuffer.toString() +<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          " of current used=" + StringUtils.byteDesc(currentSize) + ", actual cacheSize=" +<a name="line.790"></a>
-<span class="sourceLineNo">791</span>          StringUtils.byteDesc(realCacheSize.sum()) + ", total=" + StringUtils.byteDesc(totalSize));<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>      long bytesToFreeWithExtra = (long) Math.floor(bytesToFreeWithoutExtra<a name="line.794"></a>
-<span class="sourceLineNo">795</span>          * (1 + extraFreeFactor));<a name="line.795"></a>
-<span class="sourceLineNo">796</span><a name="line.796"></a>
-<span class="sourceLineNo">797</span>      // Instantiate priority buckets<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      BucketEntryGroup bucketSingle = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.798"></a>
-<span class="sourceLineNo">799</span>          blockSize, getPartitionSize(singleFactor));<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      BucketEntryGroup bucketMulti = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          blockSize, getPartitionSize(multiFactor));<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      BucketEntryGroup bucketMemory = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.802"></a>
-<span class="sourceLineNo">803</span>          blockSize, getPartitionSize(memoryFactor));<a name="line.803"></a>
-<span class="sourceLineNo">804</span><a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Scan entire map putting bucket entry into appropriate bucket entry<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // group<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      for (Map.Entry&lt;BlockCacheKey, BucketEntry&gt; bucketEntryWithKey : backingMap.entrySet()) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>        switch (bucketEntryWithKey.getValue().getPriority()) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>          case SINGLE: {<a name="line.809"></a>
-<span class="sourceLineNo">810</span>            bucketSingle.add(bucketEntryWithKey);<a name="line.810"></a>
-<span class="sourceLineNo">811</span>            break;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>          }<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          case MULTI: {<a name="line.813"></a>
-<span class="sourceLineNo">814</span>            bucketMulti.add(bucketEntryWithKey);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>            break;<a name="line.815"></a>
-<span class="sourceLineNo">816</span>          }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>          case MEMORY: {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>            bucketMemory.add(bucketEntryWithKey);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>            break;<a name="line.819"></a>
-<span class="sourceLineNo">820</span>          }<a name="line.820"></a>
-<span class="sourceLineNo">821</span>        }<a name="line.821"></a>
-<span class="sourceLineNo">822</span>      }<a name="line.822"></a>
-<span class="sourceLineNo">823</span><a name="line.823"></a>
-<span class="sourceLineNo">824</span>      PriorityQueue&lt;BucketEntryGroup&gt; bucketQueue = new PriorityQueue&lt;&gt;(3);<a name="line.824"></a>
+<span class="sourceLineNo">039</span>import java.util.PriorityQueue;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.Set;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.concurrent.ArrayBlockingQueue;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.concurrent.BlockingQueue;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentMap;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.ConcurrentSkipListSet;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.Executors;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.TimeUnit;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.atomic.LongAdder;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.locks.Lock;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.conf.Configuration;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.io.hfile.BlockPriority;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.io.hfile.BlockType;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.hfile.CacheStats;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.hfile.Cacheable;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.hfile.Cacheable.MemoryType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializer;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializerIdManager;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CachedBlock;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFileBlock;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.IdReadWriteLock;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.IdReadWriteLock.ReferenceType;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.util.StringUtils;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.slf4j.Logger;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.slf4j.LoggerFactory;<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;<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> * BucketCache uses {@link BucketAllocator} to allocate/free blocks, and uses<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * BucketCache#ramCache and BucketCache#backingMap in order to<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * determine if a given element is in the cache. The bucket cache can use on-heap or<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * off-heap memory {@link ByteBufferIOEngine} or in a file {@link FileIOEngine} to<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * store/read the block data.<a name="line.89"></a>
+<span class="sourceLineNo">090</span> *<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * &lt;p&gt;Eviction is via a similar algorithm as used in<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache}<a name="line.92"></a>
+<span class="sourceLineNo">093</span> *<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;p&gt;BucketCache can be used as mainly a block cache (see<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * {@link org.apache.hadoop.hbase.io.hfile.CombinedBlockCache}), combined with<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * LruBlockCache to decrease CMS GC and heap fragmentation.<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;p&gt;It also can be used as a secondary cache (e.g. using a file on ssd/fusionio to store<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * blocks) to enlarge cache space via<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache#setVictimCache}<a name="line.100"></a>
+<span class="sourceLineNo">101</span> */<a name="line.101"></a>
+<span class="sourceLineNo">102</span>@InterfaceAudience.Private<a name="line.102"></a>
+<span class="sourceLineNo">103</span>public class BucketCache implements BlockCache, HeapSize {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  private static final Logger LOG = LoggerFactory.getLogger(BucketCache.class);<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /** Priority buckets config */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  static final String SINGLE_FACTOR_CONFIG_NAME = "hbase.bucketcache.single.factor";<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  static final String MULTI_FACTOR_CONFIG_NAME = "hbase.bucketcache.multi.factor";<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  static final String MEMORY_FACTOR_CONFIG_NAME = "hbase.bucketcache.memory.factor";<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  static final String EXTRA_FREE_FACTOR_CONFIG_NAME = "hbase.bucketcache.extrafreefactor";<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  static final String ACCEPT_FACTOR_CONFIG_NAME = "hbase.bucketcache.acceptfactor";<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  static final String MIN_FACTOR_CONFIG_NAME = "hbase.bucketcache.minfactor";<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  /** Priority buckets */<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  @VisibleForTesting<a name="line.115"></a>
+<span class="sourc

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html
index b7c24d7..eecd2f9 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.html
@@ -44,792 +44,792 @@
 <span class="sourceLineNo">036</span>import java.util.List;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import java.util.Map;<a name="line.37"></a>
 <span class="sourceLineNo">038</span>import java.util.NavigableSet;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.Objects;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import java.util.PriorityQueue;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import java.util.concurrent.ArrayBlockingQueue;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import java.util.concurrent.BlockingQueue;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import java.util.concurrent.ConcurrentMap;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import java.util.concurrent.ConcurrentSkipListSet;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import java.util.concurrent.Executors;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import java.util.concurrent.TimeUnit;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import java.util.concurrent.atomic.LongAdder;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import java.util.concurrent.locks.Lock;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.conf.Configuration;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.io.hfile.BlockPriority;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.hfile.BlockType;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.hfile.CacheStats;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.hfile.Cacheable;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.hfile.Cacheable.MemoryType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializer;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializerIdManager;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.CachedBlock;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileBlock;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.IdReadWriteLock;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.util.IdReadWriteLock.ReferenceType;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.util.StringUtils;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.slf4j.Logger;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.slf4j.LoggerFactory;<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>/**<a name="line.85"></a>
-<span class="sourceLineNo">086</span> * BucketCache uses {@link BucketAllocator} to allocate/free blocks, and uses<a name="line.86"></a>
-<span class="sourceLineNo">087</span> * BucketCache#ramCache and BucketCache#backingMap in order to<a name="line.87"></a>
-<span class="sourceLineNo">088</span> * determine if a given element is in the cache. The bucket cache can use on-heap or<a name="line.88"></a>
-<span class="sourceLineNo">089</span> * off-heap memory {@link ByteBufferIOEngine} or in a file {@link FileIOEngine} to<a name="line.89"></a>
-<span class="sourceLineNo">090</span> * store/read the block data.<a name="line.90"></a>
-<span class="sourceLineNo">091</span> *<a name="line.91"></a>
-<span class="sourceLineNo">092</span> * &lt;p&gt;Eviction is via a similar algorithm as used in<a name="line.92"></a>
-<span class="sourceLineNo">093</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache}<a name="line.93"></a>
-<span class="sourceLineNo">094</span> *<a name="line.94"></a>
-<span class="sourceLineNo">095</span> * &lt;p&gt;BucketCache can be used as mainly a block cache (see<a name="line.95"></a>
-<span class="sourceLineNo">096</span> * {@link org.apache.hadoop.hbase.io.hfile.CombinedBlockCache}), combined with<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * LruBlockCache to decrease CMS GC and heap fragmentation.<a name="line.97"></a>
-<span class="sourceLineNo">098</span> *<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * &lt;p&gt;It also can be used as a secondary cache (e.g. using a file on ssd/fusionio to store<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * blocks) to enlarge cache space via<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache#setVictimCache}<a name="line.101"></a>
-<span class="sourceLineNo">102</span> */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>@InterfaceAudience.Private<a name="line.103"></a>
-<span class="sourceLineNo">104</span>public class BucketCache implements BlockCache, HeapSize {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  private static final Logger LOG = LoggerFactory.getLogger(BucketCache.class);<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  /** Priority buckets config */<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  static final String SINGLE_FACTOR_CONFIG_NAME = "hbase.bucketcache.single.factor";<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  static final String MULTI_FACTOR_CONFIG_NAME = "hbase.bucketcache.multi.factor";<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  static final String MEMORY_FACTOR_CONFIG_NAME = "hbase.bucketcache.memory.factor";<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  static final String EXTRA_FREE_FACTOR_CONFIG_NAME = "hbase.bucketcache.extrafreefactor";<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  static final String ACCEPT_FACTOR_CONFIG_NAME = "hbase.bucketcache.acceptfactor";<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  static final String MIN_FACTOR_CONFIG_NAME = "hbase.bucketcache.minfactor";<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /** Priority buckets */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  @VisibleForTesting<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  static final float DEFAULT_SINGLE_FACTOR = 0.25f;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  static final float DEFAULT_MULTI_FACTOR = 0.50f;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  static final float DEFAULT_MEMORY_FACTOR = 0.25f;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  static final float DEFAULT_MIN_FACTOR = 0.85f;<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private static final float DEFAULT_EXTRA_FREE_FACTOR = 0.10f;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  private static final float DEFAULT_ACCEPT_FACTOR = 0.95f;<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  // Number of blocks to clear for each of the bucket size that is full<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  private static final int DEFAULT_FREE_ENTIRE_BLOCK_FACTOR = 2;<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>  /** Statistics thread */<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  private static final int statThreadPeriod = 5 * 60;<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  final static int DEFAULT_WRITER_THREADS = 3;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  final static int DEFAULT_WRITER_QUEUE_ITEMS = 64;<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  // Store/read block data<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  final IOEngine ioEngine;<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  // Store the block in this map before writing it to cache<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  @VisibleForTesting<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  final ConcurrentMap&lt;BlockCacheKey, RAMQueueEntry&gt; ramCache;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  // In this map, store the block's meta data like offset, length<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  @VisibleForTesting<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  ConcurrentMap&lt;BlockCacheKey, BucketEntry&gt; backingMap;<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * Flag if the cache is enabled or not... We shut it off if there are IO<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * errors for some time, so that Bucket IO exceptions/errors don't bring down<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * the HBase server.<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   */<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private volatile boolean cacheEnabled;<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 list of writer queues.  We have a queue per {@link WriterThread} we have running.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * In other words, the work adding blocks to the BucketCache is divided up amongst the<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * running WriterThreads.  Its done by taking hash of the cache key modulo queue count.<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * WriterThread when it runs takes whatever has been recently added and 'drains' the entries<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * to the BucketCache.  It then updates the ramCache and backingMap accordingly.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @VisibleForTesting<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  final ArrayList&lt;BlockingQueue&lt;RAMQueueEntry&gt;&gt; writerQueues = new ArrayList&lt;&gt;();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  @VisibleForTesting<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  final WriterThread[] writerThreads;<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>  /** Volatile boolean to track if free space is in process or not */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  private volatile boolean freeInProgress = false;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  private final Lock freeSpaceLock = new ReentrantLock();<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>  private UniqueIndexMap&lt;Integer&gt; deserialiserMap = new UniqueIndexMap&lt;&gt;();<a name="line.167"></a>
-<span class="sourceLineNo">168</span><a name="line.168"></a>
-<span class="sourceLineNo">169</span>  private final LongAdder realCacheSize = new LongAdder();<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  private final LongAdder heapSize = new LongAdder();<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  /** Current number of cached elements */<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  private final LongAdder blockNumber = new LongAdder();<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  /** Cache access count (sequential ID) */<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  private final AtomicLong accessCount = new AtomicLong();<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>  private static final int DEFAULT_CACHE_WAIT_TIME = 50;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  // Used in test now. If the flag is false and the cache speed is very fast,<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  // bucket cache will skip some blocks when caching. If the flag is true, we<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  // will wait blocks flushed to IOEngine for some time when caching<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  boolean wait_when_cache = false;<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  private final BucketCacheStats cacheStats = new BucketCacheStats();<a name="line.183"></a>
-<span class="sourceLineNo">184</span><a name="line.184"></a>
-<span class="sourceLineNo">185</span>  private final String persistencePath;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  private final long cacheCapacity;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  /** Approximate block size */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private final long blockSize;<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  /** Duration of IO errors tolerated before we disable cache, 1 min as default */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  private final int ioErrorsTolerationDuration;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  // 1 min<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  public static final int DEFAULT_ERROR_TOLERATION_DURATION = 60 * 1000;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>  // Start time of first IO error when reading or writing IO Engine, it will be<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  // reset after a successful read/write.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private volatile long ioErrorStartTime = -1;<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 ReentrantReadWriteLock to lock on a particular block identified by offset.<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * The purpose of this is to avoid freeing the block which is being read.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * &lt;p&gt;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   * Key set of offsets in BucketCache is limited so soft reference is the best choice here.<a name="line.203"></a>
-<span class="sourceLineNo">204</span>   */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  @VisibleForTesting<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  final IdReadWriteLock offsetLock = new IdReadWriteLock(ReferenceType.SOFT);<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  private final NavigableSet&lt;BlockCacheKey&gt; blocksByHFile =<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      new ConcurrentSkipListSet&lt;&gt;(new Comparator&lt;BlockCacheKey&gt;() {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        public int compare(BlockCacheKey a, BlockCacheKey b) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>          int nameComparison = a.getHfileName().compareTo(b.getHfileName());<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          if (nameComparison != 0) {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>            return nameComparison;<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>          if (a.getOffset() == b.getOffset()) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>            return 0;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>          } else if (a.getOffset() &lt; b.getOffset()) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>            return -1;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>          }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>          return 1;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      });<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  /** Statistics thread schedule pool (for heavy debugging, could remove) */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private final ScheduledExecutorService scheduleThreadPool = Executors.newScheduledThreadPool(1,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    new ThreadFactoryBuilder().setNameFormat("BucketCacheStatsExecutor").setDaemon(true).build());<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  // Allocate or free space for the block<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  private BucketAllocator bucketAllocator;<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span>  /** Acceptable size of cache (no evictions if size &lt; acceptable) */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private float acceptableFactor;<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /** Minimum threshold of cache (when evicting, evict until size &lt; min) */<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  private float minFactor;<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /** Free this floating point factor of extra blocks when evicting. For example free the number of blocks requested * (1 + extraFreeFactor) */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  private float extraFreeFactor;<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>  /** Single access bucket size */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private float singleFactor;<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /** Multiple access bucket size */<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  private float multiFactor;<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  /** In-memory bucket size */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private float memoryFactor;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  public BucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes,<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      int writerThreadNum, int writerQLen, String persistencePath) throws FileNotFoundException,<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      IOException {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    this(ioEngineName, capacity, blockSize, bucketSizes, writerThreadNum, writerQLen,<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      persistencePath, DEFAULT_ERROR_TOLERATION_DURATION, HBaseConfiguration.create());<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>  public BucketCache(String ioEngineName, long capacity, int blockSize, int[] bucketSizes,<a name="line.258"></a>
-<span class="sourceLineNo">259</span>                     int writerThreadNum, int writerQLen, String persistencePath, int ioErrorsTolerationDuration,<a name="line.259"></a>
-<span class="sourceLineNo">260</span>                     Configuration conf)<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throws FileNotFoundException, IOException {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    this.ioEngine = getIOEngineFromName(ioEngineName, capacity, persistencePath);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    this.writerThreads = new WriterThread[writerThreadNum];<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    long blockNumCapacity = capacity / blockSize;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (blockNumCapacity &gt;= Integer.MAX_VALUE) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      // Enough for about 32TB of cache!<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      throw new IllegalArgumentException("Cache capacity is too large, only support 32TB now");<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>    this.acceptableFactor = conf.getFloat(ACCEPT_FACTOR_CONFIG_NAME, DEFAULT_ACCEPT_FACTOR);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    this.minFactor = conf.getFloat(MIN_FACTOR_CONFIG_NAME, DEFAULT_MIN_FACTOR);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    this.extraFreeFactor = conf.getFloat(EXTRA_FREE_FACTOR_CONFIG_NAME, DEFAULT_EXTRA_FREE_FACTOR);<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    this.singleFactor = conf.getFloat(SINGLE_FACTOR_CONFIG_NAME, DEFAULT_SINGLE_FACTOR);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    this.multiFactor = conf.getFloat(MULTI_FACTOR_CONFIG_NAME, DEFAULT_MULTI_FACTOR);<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    this.memoryFactor = conf.getFloat(MEMORY_FACTOR_CONFIG_NAME, DEFAULT_MEMORY_FACTOR);<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>    sanityCheckConfigs();<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>    LOG.info("Instantiating BucketCache with acceptableFactor: " + acceptableFactor + ", minFactor: " + minFactor +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        ", extraFreeFactor: " + extraFreeFactor + ", singleFactor: " + singleFactor + ", multiFactor: " + multiFactor +<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        ", memoryFactor: " + memoryFactor);<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    this.cacheCapacity = capacity;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    this.persistencePath = persistencePath;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    this.blockSize = blockSize;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    this.ioErrorsTolerationDuration = ioErrorsTolerationDuration;<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>    bucketAllocator = new BucketAllocator(capacity, bucketSizes);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    for (int i = 0; i &lt; writerThreads.length; ++i) {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      writerQueues.add(new ArrayBlockingQueue&lt;&gt;(writerQLen));<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    assert writerQueues.size() == writerThreads.length;<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    this.ramCache = new ConcurrentHashMap&lt;&gt;();<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    this.backingMap = new ConcurrentHashMap&lt;&gt;((int) blockNumCapacity);<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if (ioEngine.isPersistent() &amp;&amp; persistencePath != null) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      try {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        retrieveFromFile(bucketSizes);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      } catch (IOException ioex) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        LOG.error("Can't restore from file because of", ioex);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      } catch (ClassNotFoundException cnfe) {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        LOG.error("Can't restore from file in rebuild because can't deserialise",cnfe);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        throw new RuntimeException(cnfe);<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>    final String threadName = Thread.currentThread().getName();<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    this.cacheEnabled = true;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    for (int i = 0; i &lt; writerThreads.length; ++i) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      writerThreads[i] = new WriterThread(writerQueues.get(i));<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      writerThreads[i].setName(threadName + "-BucketCacheWriter-" + i);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      writerThreads[i].setDaemon(true);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    startWriterThreads();<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    // Run the statistics thread periodically to print the cache statistics log<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    // TODO: Add means of turning this off.  Bit obnoxious running thread just to make a log<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    // every five minutes.<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    this.scheduleThreadPool.scheduleAtFixedRate(new StatisticsThread(this),<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        statThreadPeriod, statThreadPeriod, TimeUnit.SECONDS);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    LOG.info("Started bucket cache; ioengine=" + ioEngineName +<a name="line.322"></a>
-<span class="sourceLineNo">323</span>        ", capacity=" + StringUtils.byteDesc(capacity) +<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      ", blockSize=" + StringUtils.byteDesc(blockSize) + ", writerThreadNum=" +<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        writerThreadNum + ", writerQLen=" + writerQLen + ", persistencePath=" +<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      persistencePath + ", bucketAllocator=" + this.bucketAllocator.getClass().getName());<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>  private void sanityCheckConfigs() {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    Preconditions.checkArgument(acceptableFactor &lt;= 1 &amp;&amp; acceptableFactor &gt;= 0, ACCEPT_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    Preconditions.checkArgument(minFactor &lt;= 1 &amp;&amp; minFactor &gt;= 0, MIN_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Preconditions.checkArgument(minFactor &lt;= acceptableFactor, MIN_FACTOR_CONFIG_NAME + " must be &lt;= " + ACCEPT_FACTOR_CONFIG_NAME);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    Preconditions.checkArgument(extraFreeFactor &gt;= 0, EXTRA_FREE_FACTOR_CONFIG_NAME + " must be greater than 0.0");<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    Preconditions.checkArgument(singleFactor &lt;= 1 &amp;&amp; singleFactor &gt;= 0, SINGLE_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    Preconditions.checkArgument(multiFactor &lt;= 1 &amp;&amp; multiFactor &gt;= 0, MULTI_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    Preconditions.checkArgument(memoryFactor &lt;= 1 &amp;&amp; memoryFactor &gt;= 0, MEMORY_FACTOR_CONFIG_NAME + " must be between 0.0 and 1.0");<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    Preconditions.checkArgument((singleFactor + multiFactor + memoryFactor) == 1, SINGLE_FACTOR_CONFIG_NAME + ", " +<a name="line.337"></a>
-<span class="sourceLineNo">338</span>        MULTI_FACTOR_CONFIG_NAME + ", and " + MEMORY_FACTOR_CONFIG_NAME + " segments must add up to 1.0");<a name="line.338"></a>
-<span class="sourceLineNo">339</span>  }<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>  /**<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * Called by the constructor to start the writer threads. Used by tests that need to override<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * starting the threads.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  @VisibleForTesting<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  protected void startWriterThreads() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    for (WriterThread thread : writerThreads) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      thread.start();<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>  @VisibleForTesting<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  boolean isCacheEnabled() {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    return this.cacheEnabled;<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>  @Override<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public long getMaxSize() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    return this.cacheCapacity;<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>  public String getIoEngine() {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    return ioEngine.toString();<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>   * Get the IOEngine from the IO engine name<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @param ioEngineName<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * @param capacity<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * @param persistencePath<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @return the IOEngine<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @throws IOException<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  private IOEngine getIOEngineFromName(String ioEngineName, long capacity, String persistencePath)<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      throws IOException {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    if (ioEngineName.startsWith("file:") || ioEngineName.startsWith("files:")) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      // In order to make the usage simple, we only need the prefix 'files:' in<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      // document whether one or multiple file(s), but also support 'file:' for<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      // the compatibility<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      String[] filePaths = ioEngineName.substring(ioEngineName.indexOf(":") + 1)<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          .split(FileIOEngine.FILE_DELIMITER);<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      return new FileIOEngine(capacity, persistencePath != null, filePaths);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    } else if (ioEngineName.startsWith("offheap")) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      return new ByteBufferIOEngine(capacity);<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    } else if (ioEngineName.startsWith("mmap:")) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      return new FileMmapEngine(ioEngineName.substring(5), capacity);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    } else {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      throw new IllegalArgumentException(<a name="line.388"></a>
-<span class="sourceLineNo">389</span>          "Don't understand io engine name for cache- prefix with file:, files:, mmap: or offheap");<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
-<span class="sourceLineNo">391</span>  }<a name="line.391"></a>
-<span class="sourceLineNo">392</span><a name="line.392"></a>
-<span class="sourceLineNo">393</span>  /**<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * Cache the block with the specified name and buffer.<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * @param cacheKey block's cache key<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * @param buf block buffer<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   */<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  public void cacheBlock(BlockCacheKey cacheKey, Cacheable buf) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    cacheBlock(cacheKey, buf, false);<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>   * Cache the block with the specified name and buffer.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   * @param cacheKey block's cache key<a name="line.405"></a>
-<span class="sourceLineNo">406</span>   * @param cachedItem block buffer<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * @param inMemory if block is in-memory<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   */<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  @Override<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  public void cacheBlock(BlockCacheKey cacheKey, Cacheable cachedItem, boolean inMemory) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    cacheBlockWithWait(cacheKey, cachedItem, inMemory, wait_when_cache);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * Cache the block to ramCache<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @param cacheKey block's cache key<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @param cachedItem block buffer<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @param inMemory if block is in-memory<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * @param wait if true, blocking wait when queue is full<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   */<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  public void cacheBlockWithWait(BlockCacheKey cacheKey, Cacheable cachedItem, boolean inMemory,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      boolean wait) {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    if (LOG.isTraceEnabled()) LOG.trace("Caching key=" + cacheKey + ", item=" + cachedItem);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    if (!cacheEnabled) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      return;<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>    if (backingMap.containsKey(cacheKey)) {<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      Cacheable existingBlock = getBlock(cacheKey, false, false, false);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      try {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        if (BlockCacheUtil.compareCacheBlock(cachedItem, existingBlock) != 0) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span>          throw new RuntimeException("Cached block contents differ, which should not have happened."<a name="line.432"></a>
-<span class="sourceLineNo">433</span>              + "cacheKey:" + cacheKey);<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        }<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        String msg = "Caching an already cached block: " + cacheKey;<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        msg += ". This is harmless and can happen in rare cases (see HBASE-8547)";<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        LOG.warn(msg);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      } finally {<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        // return the block since we need to decrement the count<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        returnBlock(cacheKey, existingBlock);<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      }<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return;<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>    /*<a name="line.445"></a>
-<span class="sourceLineNo">446</span>     * Stuff the entry into the RAM cache so it can get drained to the persistent store<a name="line.446"></a>
-<span class="sourceLineNo">447</span>     */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    RAMQueueEntry re =<a name="line.448"></a>
-<span class="sourceLineNo">449</span>        new RAMQueueEntry(cacheKey, cachedItem, accessCount.incrementAndGet(), inMemory);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    if (ramCache.putIfAbsent(cacheKey, re) != null) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      return;<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    }<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    int queueNum = (cacheKey.hashCode() &amp; 0x7FFFFFFF) % writerQueues.size();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    BlockingQueue&lt;RAMQueueEntry&gt; bq = writerQueues.get(queueNum);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    boolean successfulAddition = false;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    if (wait) {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      try {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        successfulAddition = bq.offer(re, DEFAULT_CACHE_WAIT_TIME, TimeUnit.MILLISECONDS);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      } catch (InterruptedException e) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        Thread.currentThread().interrupt();<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    } else {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      successfulAddition = bq.offer(re);<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    }<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    if (!successfulAddition) {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      ramCache.remove(cacheKey);<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      cacheStats.failInsert();<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    } else {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      this.blockNumber.increment();<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      this.heapSize.add(cachedItem.heapSize());<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      blocksByHFile.add(cacheKey);<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>  }<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>  /**<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * Get the buffer of the block with the specified key.<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * @param key block's cache key<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * @param caching true if the caller caches blocks on cache misses<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * @param repeat Whether this is a repeat lookup for the same block<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * @param updateCacheMetrics Whether we should update cache metrics or not<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @return buffer of specified cache key, or null if not in cache<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   */<a name="line.482"></a>
-<span class="sourceLineNo">483</span>  @Override<a name="line.483"></a>
-<span class="sourceLineNo">484</span>  public Cacheable getBlock(BlockCacheKey key, boolean caching, boolean repeat,<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      boolean updateCacheMetrics) {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    if (!cacheEnabled) {<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      return null;<a name="line.487"></a>
-<span class="sourceLineNo">488</span>    }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    RAMQueueEntry re = ramCache.get(key);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    if (re != null) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      if (updateCacheMetrics) {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      }<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      re.access(accessCount.incrementAndGet());<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      return re.getData();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    }<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    BucketEntry bucketEntry = backingMap.get(key);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    if (bucketEntry != null) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      long start = System.nanoTime();<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      try {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>        lock.readLock().lock();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        // We can not read here even if backingMap does contain the given key because its offset<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        // maybe changed. If we lock BlockCacheKey instead of offset, then we can only check<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        // existence here.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>        if (bucketEntry.equals(backingMap.get(key))) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>          // TODO : change this area - should be removed after server cells and<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          // 12295 are available<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          int len = bucketEntry.getLength();<a name="line.509"></a>
-<span class="sourceLineNo">510</span>          if (LOG.isTraceEnabled()) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>            LOG.trace("Read offset=" + bucketEntry.offset() + ", len=" + len);<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          }<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          Cacheable cachedBlock = ioEngine.read(bucketEntry.offset(), len,<a name="line.513"></a>
-<span class="sourceLineNo">514</span>              bucketEntry.deserializerReference(this.deserialiserMap));<a name="line.514"></a>
-<span class="sourceLineNo">515</span>          long timeTaken = System.nanoTime() - start;<a name="line.515"></a>
-<span class="sourceLineNo">516</span>          if (updateCacheMetrics) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>            cacheStats.hit(caching, key.isPrimary(), key.getBlockType());<a name="line.517"></a>
-<span class="sourceLineNo">518</span>            cacheStats.ioHit(timeTaken);<a name="line.518"></a>
-<span class="sourceLineNo">519</span>          }<a name="line.519"></a>
-<span class="sourceLineNo">520</span>          if (cachedBlock.getMemoryType() == MemoryType.SHARED) {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>            bucketEntry.refCount.incrementAndGet();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          }<a name="line.522"></a>
-<span class="sourceLineNo">523</span>          bucketEntry.access(accessCount.incrementAndGet());<a name="line.523"></a>
-<span class="sourceLineNo">524</span>          if (this.ioErrorStartTime &gt; 0) {<a name="line.524"></a>
-<span class="sourceLineNo">525</span>            ioErrorStartTime = -1;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>          }<a name="line.526"></a>
-<span class="sourceLineNo">527</span>          return cachedBlock;<a name="line.527"></a>
-<span class="sourceLineNo">528</span>        }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      } catch (IOException ioex) {<a name="line.529"></a>
-<span class="sourceLineNo">530</span>        LOG.error("Failed reading block " + key + " from bucket cache", ioex);<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        checkIOErrorIsTolerated();<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      } finally {<a name="line.532"></a>
-<span class="sourceLineNo">533</span>        lock.readLock().unlock();<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>    if (!repeat &amp;&amp; updateCacheMetrics) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      cacheStats.miss(caching, key.isPrimary(), key.getBlockType());<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    return null;<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>  @VisibleForTesting<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  void blockEvicted(BlockCacheKey cacheKey, BucketEntry bucketEntry, boolean decrementBlockNumber) {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    bucketAllocator.freeBlock(bucketEntry.offset());<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    realCacheSize.add(-1 * bucketEntry.getLength());<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    blocksByHFile.remove(cacheKey);<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    if (decrementBlockNumber) {<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      this.blockNumber.decrement();<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    }<a name="line.549"></a>
-<span class="sourceLineNo">550</span>  }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>  @Override<a name="line.552"></a>
-<span class="sourceLineNo">553</span>  public boolean evictBlock(BlockCacheKey cacheKey) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    return evictBlock(cacheKey, true);<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>  // does not check for the ref count. Just tries to evict it if found in the<a name="line.557"></a>
-<span class="sourceLineNo">558</span>  // bucket map<a name="line.558"></a>
-<span class="sourceLineNo">559</span>  private boolean forceEvict(BlockCacheKey cacheKey) {<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    if (!cacheEnabled) {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>      return false;<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    }<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    RAMQueueEntry removedBlock = checkRamCache(cacheKey);<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    BucketEntry bucketEntry = backingMap.get(cacheKey);<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    if (bucketEntry == null) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      if (removedBlock != null) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>        cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.567"></a>
-<span class="sourceLineNo">568</span>        return true;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      } else {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>        return false;<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>    ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    try {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      lock.writeLock().lock();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (backingMap.remove(cacheKey, bucketEntry)) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        blockEvicted(cacheKey, bucketEntry, removedBlock == null);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      } else {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>        return false;<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      }<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    } finally {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      lock.writeLock().unlock();<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    cacheStats.evicted(bucketEntry.getCachedTime(), cacheKey.isPrimary());<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    return true;<a name="line.585"></a>
-<span class="sourceLineNo">586</span>  }<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>  private RAMQueueEntry checkRamCache(BlockCacheKey cacheKey) {<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    RAMQueueEntry removedBlock = ramCache.remove(cacheKey);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    if (removedBlock != null) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      this.blockNumber.decrement();<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      this.heapSize.add(-1 * removedBlock.getData().heapSize());<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    }<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    return removedBlock;<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 boolean evictBlock(BlockCacheKey cacheKey, boolean deletedBlock) {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    if (!cacheEnabled) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      return false;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    }<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    RAMQueueEntry removedBlock = checkRamCache(cacheKey);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    BucketEntry bucketEntry = backingMap.get(cacheKey);<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    if (bucketEntry == null) {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>      if (removedBlock != null) {<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        cacheStats.evicted(0, cacheKey.isPrimary());<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        return true;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>      } else {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>        return false;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      }<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    }<a name="line.610"></a>
-<span class="sourceLineNo">611</span>    ReentrantReadWriteLock lock = offsetLock.getLock(bucketEntry.offset());<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    try {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      lock.writeLock().lock();<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      int refCount = bucketEntry.refCount.get();<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      if(refCount == 0) {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        if (backingMap.remove(cacheKey, bucketEntry)) {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>          blockEvicted(cacheKey, bucketEntry, removedBlock == null);<a name="line.617"></a>
-<span class="sourceLineNo">618</span>        } else {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>          return false;<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        }<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      } else {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>        if(!deletedBlock) {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>          if (LOG.isDebugEnabled()) {<a name="line.623"></a>
-<span class="sourceLineNo">624</span>            LOG.debug("This block " + cacheKey + " is still referred by " + refCount<a name="line.624"></a>
-<span class="sourceLineNo">625</span>                + " readers. Can not be freed now");<a name="line.625"></a>
-<span class="sourceLineNo">626</span>          }<a name="line.626"></a>
-<span class="sourceLineNo">627</span>          return false;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        } else {<a name="line.628"></a>
-<span class="sourceLineNo">629</span>          if (LOG.isDebugEnabled()) {<a name="line.629"></a>
-<span class="sourceLineNo">630</span>            LOG.debug("This block " + cacheKey + " is still referred by " + refCount<a name="line.630"></a>
-<span class="sourceLineNo">631</span>                + " readers. Can not be freed now. Hence will mark this"<a name="line.631"></a>
-<span class="sourceLineNo">632</span>                + " for evicting at a later point");<a name="line.632"></a>
-<span class="sourceLineNo">633</span>          }<a name="line.633"></a>
-<span class="sourceLineNo">634</span>          bucketEntry.markedForEvict = true;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        }<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      }<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    } finally {<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      lock.writeLock().unlock();<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    }<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    cacheStats.evicted(bucketEntry.getCachedTime(), cacheKey.isPrimary());<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    return true;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>  }<a name="line.642"></a>
-<span class="sourceLineNo">643</span><a name="line.643"></a>
-<span class="sourceLineNo">644</span>  /*<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * Statistics thread.  Periodically output cache statistics to the log.<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  private static class StatisticsThread extends Thread {<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    private final BucketCache bucketCache;<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span>    public StatisticsThread(BucketCache bucketCache) {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      super("BucketCacheStatsThread");<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      setDaemon(true);<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      this.bucketCache = bucketCache;<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>    @Override<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    public void run() {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>      bucketCache.logStats();<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    }<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  }<a name="line.660"></a>
-<span class="sourceLineNo">661</span><a name="line.661"></a>
-<span class="sourceLineNo">662</span>  public void logStats() {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    long totalSize = bucketAllocator.getTotalSize();<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    long usedSize = bucketAllocator.getUsedSize();<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    long freeSize = totalSize - usedSize;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    long cacheSize = getRealCacheSize();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    LOG.info("failedBlockAdditions=" + cacheStats.getFailedInserts() + ", " +<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        "totalSize=" + StringUtils.byteDesc(totalSize) + ", " +<a name="line.668"></a>
-<span class="sourceLineNo">669</span>        "freeSize=" + StringUtils.byteDesc(freeSize) + ", " +<a name="line.669"></a>
-<span class="sourceLineNo">670</span>        "usedSize=" + StringUtils.byteDesc(usedSize) +", " +<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        "cacheSize=" + StringUtils.byteDesc(cacheSize) +", " +<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        "accesses=" + cacheStats.getRequestCount() + ", " +<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        "hits=" + cacheStats.getHitCount() + ", " +<a name="line.673"></a>
-<span class="sourceLineNo">674</span>        "IOhitsPerSecond=" + cacheStats.getIOHitsPerSecond() + ", " +<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        "IOTimePerHit=" + String.format("%.2f", cacheStats.getIOTimePerHit())+ ", " +<a name="line.675"></a>
-<span class="sourceLineNo">676</span>        "hitRatio=" + (cacheStats.getHitCount() == 0 ? "0," :<a name="line.676"></a>
-<span class="sourceLineNo">677</span>          (StringUtils.formatPercent(cacheStats.getHitRatio(), 2)+ ", ")) +<a name="line.677"></a>
-<span class="sourceLineNo">678</span>        "cachingAccesses=" + cacheStats.getRequestCachingCount() + ", " +<a name="line.678"></a>
-<span class="sourceLineNo">679</span>        "cachingHits=" + cacheStats.getHitCachingCount() + ", " +<a name="line.679"></a>
-<span class="sourceLineNo">680</span>        "cachingHitsRatio=" +(cacheStats.getHitCachingCount() == 0 ? "0," :<a name="line.680"></a>
-<span class="sourceLineNo">681</span>          (StringUtils.formatPercent(cacheStats.getHitCachingRatio(), 2)+ ", ")) +<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        "evictions=" + cacheStats.getEvictionCount() + ", " +<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        "evicted=" + cacheStats.getEvictedCount() + ", " +<a name="line.683"></a>
-<span class="sourceLineNo">684</span>        "evictedPerRun=" + cacheStats.evictedPerEviction());<a name="line.684"></a>
-<span class="sourceLineNo">685</span>    cacheStats.reset();<a name="line.685"></a>
-<span class="sourceLineNo">686</span>  }<a name="line.686"></a>
-<span class="sourceLineNo">687</span><a name="line.687"></a>
-<span class="sourceLineNo">688</span>  public long getRealCacheSize() {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    return this.realCacheSize.sum();<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>  private long acceptableSize() {<a name="line.692"></a>
-<span class="sourceLineNo">693</span>    return (long) Math.floor(bucketAllocator.getTotalSize() * acceptableFactor);<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>  @VisibleForTesting<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  long getPartitionSize(float partitionFactor) {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return (long) Math.floor(bucketAllocator.getTotalSize() * partitionFactor * minFactor);<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>  /**<a name="line.701"></a>
-<span class="sourceLineNo">702</span>   * Return the count of bucketSizeinfos still need free space<a name="line.702"></a>
-<span class="sourceLineNo">703</span>   */<a name="line.703"></a>
-<span class="sourceLineNo">704</span>  private int bucketSizesAboveThresholdCount(float minFactor) {<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    int fullCount = 0;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    for (int i = 0; i &lt; stats.length; i++) {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      freeGoal = Math.max(freeGoal, 1);<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      if (stats[i].freeCount() &lt; freeGoal) {<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        fullCount++;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      }<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    }<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    return fullCount;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>  }<a name="line.715"></a>
-<span class="sourceLineNo">716</span><a name="line.716"></a>
-<span class="sourceLineNo">717</span>  /**<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * This method will find the buckets that are minimally occupied<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   * and are not reference counted and will free them completely<a name="line.719"></a>
-<span class="sourceLineNo">720</span>   * without any constraint on the access times of the elements,<a name="line.720"></a>
-<span class="sourceLineNo">721</span>   * and as a process will completely free at most the number of buckets<a name="line.721"></a>
-<span class="sourceLineNo">722</span>   * passed, sometimes it might not due to changing refCounts<a name="line.722"></a>
-<span class="sourceLineNo">723</span>   *<a name="line.723"></a>
-<span class="sourceLineNo">724</span>   * @param completelyFreeBucketsNeeded number of buckets to free<a name="line.724"></a>
-<span class="sourceLineNo">725</span>   **/<a name="line.725"></a>
-<span class="sourceLineNo">726</span>  private void freeEntireBuckets(int completelyFreeBucketsNeeded) {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    if (completelyFreeBucketsNeeded != 0) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      // First we will build a set where the offsets are reference counted, usually<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      // this set is small around O(Handler Count) unless something else is wrong<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      Set&lt;Integer&gt; inUseBuckets = new HashSet&lt;Integer&gt;();<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      for (BucketEntry entry : backingMap.values()) {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>        if (entry.refCount.get() != 0) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>          inUseBuckets.add(bucketAllocator.getBucketIndex(entry.offset()));<a name="line.733"></a>
-<span class="sourceLineNo">734</span>        }<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>      Set&lt;Integer&gt; candidateBuckets = bucketAllocator.getLeastFilledBuckets(<a name="line.737"></a>
-<span class="sourceLineNo">738</span>          inUseBuckets, completelyFreeBucketsNeeded);<a name="line.738"></a>
-<span class="sourceLineNo">739</span>      for (Map.Entry&lt;BlockCacheKey, BucketEntry&gt; entry : backingMap.entrySet()) {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>        if (candidateBuckets.contains(bucketAllocator<a name="line.740"></a>
-<span class="sourceLineNo">741</span>            .getBucketIndex(entry.getValue().offset()))) {<a name="line.741"></a>
-<span class="sourceLineNo">742</span>          evictBlock(entry.getKey(), false);<a name="line.742"></a>
-<span class="sourceLineNo">743</span>        }<a name="line.743"></a>
-<span class="sourceLineNo">744</span>      }<a name="line.744"></a>
-<span class="sourceLineNo">745</span>    }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>  }<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>   * Free the space if the used size reaches acceptableSize() or one size block<a name="line.749"></a>
-<span class="sourceLineNo">750</span>   * couldn't be allocated. When freeing the space, we use the LRU algorithm and<a name="line.750"></a>
-<span class="sourceLineNo">751</span>   * ensure there must be some blocks evicted<a name="line.751"></a>
-<span class="sourceLineNo">752</span>   * @param why Why we are being called<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   */<a name="line.753"></a>
-<span class="sourceLineNo">754</span>  private void freeSpace(final String why) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span>    // Ensure only one freeSpace progress at a time<a name="line.755"></a>
-<span class="sourceLineNo">756</span>    if (!freeSpaceLock.tryLock()) {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    try {<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      freeInProgress = true;<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      long bytesToFreeWithoutExtra = 0;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      // Calculate free byte for each bucketSizeinfo<a name="line.762"></a>
-<span class="sourceLineNo">763</span>      StringBuilder msgBuffer = LOG.isDebugEnabled()? new StringBuilder(): null;<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      long[] bytesToFreeForBucket = new long[stats.length];<a name="line.765"></a>
-<span class="sourceLineNo">766</span>      for (int i = 0; i &lt; stats.length; i++) {<a name="line.766"></a>
-<span class="sourceLineNo">767</span>        bytesToFreeForBucket[i] = 0;<a name="line.767"></a>
-<span class="sourceLineNo">768</span>        long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));<a name="line.768"></a>
-<span class="sourceLineNo">769</span>        freeGoal = Math.max(freeGoal, 1);<a name="line.769"></a>
-<span class="sourceLineNo">770</span>        if (stats[i].freeCount() &lt; freeGoal) {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>          bytesToFreeForBucket[i] = stats[i].itemSize() * (freeGoal - stats[i].freeCount());<a name="line.771"></a>
-<span class="sourceLineNo">772</span>          bytesToFreeWithoutExtra += bytesToFreeForBucket[i];<a name="line.772"></a>
-<span class="sourceLineNo">773</span>          if (msgBuffer != null) {<a name="line.773"></a>
-<span class="sourceLineNo">774</span>            msgBuffer.append("Free for bucketSize(" + stats[i].itemSize() + ")="<a name="line.774"></a>
-<span class="sourceLineNo">775</span>              + StringUtils.byteDesc(bytesToFreeForBucket[i]) + ", ");<a name="line.775"></a>
-<span class="sourceLineNo">776</span>          }<a name="line.776"></a>
-<span class="sourceLineNo">777</span>        }<a name="line.777"></a>
-<span class="sourceLineNo">778</span>      }<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      if (msgBuffer != null) {<a name="line.779"></a>
-<span class="sourceLineNo">780</span>        msgBuffer.append("Free for total=" + StringUtils.byteDesc(bytesToFreeWithoutExtra) + ", ");<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>      if (bytesToFreeWithoutExtra &lt;= 0) {<a name="line.783"></a>
-<span class="sourceLineNo">784</span>        return;<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      }<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      long currentSize = bucketAllocator.getUsedSize();<a name="line.786"></a>
-<span class="sourceLineNo">787</span>      long totalSize = bucketAllocator.getTotalSize();<a name="line.787"></a>
-<span class="sourceLineNo">788</span>      if (LOG.isDebugEnabled() &amp;&amp; msgBuffer != null) {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>        LOG.debug("Free started because \"" + why + "\"; " + msgBuffer.toString() +<a name="line.789"></a>
-<span class="sourceLineNo">790</span>          " of current used=" + StringUtils.byteDesc(currentSize) + ", actual cacheSize=" +<a name="line.790"></a>
-<span class="sourceLineNo">791</span>          StringUtils.byteDesc(realCacheSize.sum()) + ", total=" + StringUtils.byteDesc(totalSize));<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>      long bytesToFreeWithExtra = (long) Math.floor(bytesToFreeWithoutExtra<a name="line.794"></a>
-<span class="sourceLineNo">795</span>          * (1 + extraFreeFactor));<a name="line.795"></a>
-<span class="sourceLineNo">796</span><a name="line.796"></a>
-<span class="sourceLineNo">797</span>      // Instantiate priority buckets<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      BucketEntryGroup bucketSingle = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.798"></a>
-<span class="sourceLineNo">799</span>          blockSize, getPartitionSize(singleFactor));<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      BucketEntryGroup bucketMulti = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.800"></a>
-<span class="sourceLineNo">801</span>          blockSize, getPartitionSize(multiFactor));<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      BucketEntryGroup bucketMemory = new BucketEntryGroup(bytesToFreeWithExtra,<a name="line.802"></a>
-<span class="sourceLineNo">803</span>          blockSize, getPartitionSize(memoryFactor));<a name="line.803"></a>
-<span class="sourceLineNo">804</span><a name="line.804"></a>
-<span class="sourceLineNo">805</span>      // Scan entire map putting bucket entry into appropriate bucket entry<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      // group<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      for (Map.Entry&lt;BlockCacheKey, BucketEntry&gt; bucketEntryWithKey : backingMap.entrySet()) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>        switch (bucketEntryWithKey.getValue().getPriority()) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>          case SINGLE: {<a name="line.809"></a>
-<span class="sourceLineNo">810</span>            bucketSingle.add(bucketEntryWithKey);<a name="line.810"></a>
-<span class="sourceLineNo">811</span>            break;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>          }<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          case MULTI: {<a name="line.813"></a>
-<span class="sourceLineNo">814</span>            bucketMulti.add(bucketEntryWithKey);<a name="line.814"></a>
-<span class="sourceLineNo">815</span>            break;<a name="line.815"></a>
-<span class="sourceLineNo">816</span>          }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>          case MEMORY: {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>            bucketMemory.add(bucketEntryWithKey);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>            break;<a name="line.819"></a>
-<span class="sourceLineNo">820</span>          }<a name="line.820"></a>
-<span class="sourceLineNo">821</span>        }<a name="line.821"></a>
-<span class="sourceLineNo">822</span>      }<a name="line.822"></a>
-<span class="sourceLineNo">823</span><a name="line.823"></a>
-<span class="sourceLineNo">824</span>      PriorityQueue&lt;BucketEntryGroup&gt; bucketQueue = new PriorityQueue&lt;&gt;(3);<a name="line.824"></a>
+<span class="sourceLineNo">039</span>import java.util.PriorityQueue;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.Set;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.concurrent.ArrayBlockingQueue;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.concurrent.BlockingQueue;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentMap;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.ConcurrentSkipListSet;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.Executors;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.ScheduledExecutorService;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.TimeUnit;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import java.util.concurrent.atomic.LongAdder;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import java.util.concurrent.locks.Lock;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import java.util.concurrent.locks.ReentrantLock;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import java.util.concurrent.locks.ReentrantReadWriteLock;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.conf.Configuration;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.io.HeapSize;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.io.hfile.BlockCache;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheKey;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.io.hfile.BlockPriority;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.io.hfile.BlockType;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.hfile.CacheStats;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.hfile.Cacheable;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.hfile.Cacheable.MemoryType;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializer;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheableDeserializerIdManager;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CachedBlock;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFileBlock;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.util.HasThread;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.IdReadWriteLock;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.IdReadWriteLock.ReferenceType;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.util.StringUtils;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.slf4j.Logger;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.slf4j.LoggerFactory;<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;<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> * BucketCache uses {@link BucketAllocator} to allocate/free blocks, and uses<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * BucketCache#ramCache and BucketCache#backingMap in order to<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * determine if a given element is in the cache. The bucket cache can use on-heap or<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * off-heap memory {@link ByteBufferIOEngine} or in a file {@link FileIOEngine} to<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * store/read the block data.<a name="line.89"></a>
+<span class="sourceLineNo">090</span> *<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * &lt;p&gt;Eviction is via a similar algorithm as used in<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache}<a name="line.92"></a>
+<span class="sourceLineNo">093</span> *<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;p&gt;BucketCache can be used as mainly a block cache (see<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * {@link org.apache.hadoop.hbase.io.hfile.CombinedBlockCache}), combined with<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * LruBlockCache to decrease CMS GC and heap fragmentation.<a name="line.96"></a>
+<span class="sourceLineNo">097</span> *<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;p&gt;It also can be used as a secondary cache (e.g. using a file on ssd/fusionio to store<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * blocks) to enlarge cache space via<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * {@link org.apache.hadoop.hbase.io.hfile.LruBlockCache#setVictimCache}<a name="line.100"></a>
+<span class="sourceLineNo">101</span> */<a name="line.101"></a>
+<span class="sourceLineNo">102</span>@InterfaceAudience.Private<a name="line.102"></a>
+<span class="sourceLineNo">103</span>public class BucketCache implements BlockCache, HeapSize {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  private static final Logger LOG = LoggerFactory.getLogger(BucketCache.class);<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /** Priority buckets config */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  static final String SINGLE_FACTOR_CONFIG_NAME = "hbase.bucketcache.single.factor";<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  static final String MULTI_FACTOR_CONFIG_NAME = "hbase.bucketcache.multi.factor";<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  static final String MEMORY_FACTOR_CONFIG_NAME = "hbase.bucketcache.memory.factor";<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  static final String EXTRA_FREE_FACTOR_CONFIG_NAME = "hbase.bucketcache.extrafreefactor";<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  static final String ACCEPT_FACTOR_CONFIG_NAME = "hbase.bucketcache.acceptfactor";<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  static final String MIN_FACTOR_CONFIG_NAME = "hbase.bucketcache.minfactor";<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  /** Priority buckets */<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  @VisibleForTesting<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  static final float DEFAULT_SINGLE_FACTO

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html
index 7f50b5d..7d756b9 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.3845">HBaseFsck.HbckInfo</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.3841">HBaseFsck.HbckInfo</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" title="interface in org.apache.hadoop.hbase.util">KeyRange</a></pre>
 <div class="block">Maintain information about a particular region.  It gathers information
@@ -305,7 +305,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>metaEntry</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.MetaEntry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3846">metaEntry</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.MetaEntry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3842">metaEntry</a></pre>
 </li>
 </ul>
 <a name="hdfsEntry">
@@ -314,7 +314,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>hdfsEntry</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HdfsEntry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3847">hdfsEntry</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HdfsEntry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3843">hdfsEntry</a></pre>
 </li>
 </ul>
 <a name="deployedEntries">
@@ -323,7 +323,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>deployedEntries</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.OnlineEntry.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.OnlineEntry</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3848">deployedEntries</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.OnlineEntry.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.OnlineEntry</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3844">deployedEntries</a></pre>
 </li>
 </ul>
 <a name="deployedOn">
@@ -332,7 +332,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>deployedOn</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3849">deployedOn</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3845">deployedOn</a></pre>
 </li>
 </ul>
 <a name="skipChecks">
@@ -341,7 +341,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>skipChecks</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3850">skipChecks</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3846">skipChecks</a></pre>
 </li>
 </ul>
 <a name="isMerged">
@@ -350,7 +350,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>isMerged</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3851">isMerged</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3847">isMerged</a></pre>
 </li>
 </ul>
 <a name="deployedReplicaId">
@@ -359,7 +359,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>deployedReplicaId</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3852">deployedReplicaId</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3848">deployedReplicaId</a></pre>
 </li>
 </ul>
 <a name="primaryHRIForDeployedReplica">
@@ -368,7 +368,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockListLast">
 <li class="blockList">
 <h4>primaryHRIForDeployedReplica</h4>
-<pre>private&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/util/HBaseFsck.HbckInfo.html#line.3853">primaryHRIForDeployedReplica</a></pre>
+<pre>private&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/util/HBaseFsck.HbckInfo.html#line.3849">primaryHRIForDeployedReplica</a></pre>
 </li>
 </ul>
 </li>
@@ -385,7 +385,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HbckInfo</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3855">HbckInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.MetaEntry</a>&nbsp;metaEntry)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3851">HbckInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.MetaEntry</a>&nbsp;metaEntry)</pre>
 </li>
 </ul>
 </li>
@@ -402,7 +402,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicaId</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3859">getReplicaId</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3855">getReplicaId</a>()</pre>
 </li>
 </ul>
 <a name="addServer-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-">
@@ -411,7 +411,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>addServer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3863">addServer</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;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3859">addServer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri,
                       <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server)</pre>
 </li>
 </ul>
@@ -421,7 +421,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3876">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3872">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -434,7 +434,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartKey</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3888">getStartKey</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3884">getStartKey</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html#getStartKey--">getStartKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" title="interface in org.apache.hadoop.hbase.util">KeyRange</a></code></dd>
@@ -447,7 +447,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>getEndKey</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3900">getEndKey</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3896">getEndKey</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html#getEndKey--">getEndKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" title="interface in org.apache.hadoop.hbase.util">KeyRange</a></code></dd>
@@ -460,7 +460,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <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/util/HBaseFsck.HbckInfo.html#line.3911">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/util/HBaseFsck.HbckInfo.html#line.3907">getTableName</a>()</pre>
 </li>
 </ul>
 <a name="getRegionNameAsString--">
@@ -469,7 +469,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionNameAsString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3928">getRegionNameAsString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3924">getRegionNameAsString</a>()</pre>
 </li>
 </ul>
 <a name="getRegionName--">
@@ -478,7 +478,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionName</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3944">getRegionName</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3940">getRegionName</a>()</pre>
 </li>
 </ul>
 <a name="getPrimaryHRIForDeployedReplica--">
@@ -487,7 +487,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>getPrimaryHRIForDeployedReplica</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/util/HBaseFsck.HbckInfo.html#line.3958">getPrimaryHRIForDeployedReplica</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/util/HBaseFsck.HbckInfo.html#line.3954">getPrimaryHRIForDeployedReplica</a>()</pre>
 </li>
 </ul>
 <a name="getHdfsRegionDir--">
@@ -496,7 +496,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>getHdfsRegionDir</h4>
-<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3962">getHdfsRegionDir</a>()</pre>
+<pre>org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3958">getHdfsRegionDir</a>()</pre>
 </li>
 </ul>
 <a name="containsOnlyHdfsEdits--">
@@ -505,7 +505,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>containsOnlyHdfsEdits</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3969">containsOnlyHdfsEdits</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3965">containsOnlyHdfsEdits</a>()</pre>
 </li>
 </ul>
 <a name="isHdfsRegioninfoPresent--">
@@ -514,7 +514,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>isHdfsRegioninfoPresent</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3976">isHdfsRegioninfoPresent</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3972">isHdfsRegioninfoPresent</a>()</pre>
 </li>
 </ul>
 <a name="getModTime--">
@@ -523,7 +523,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>getModTime</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3983">getModTime</a>()</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3979">getModTime</a>()</pre>
 </li>
 </ul>
 <a name="getHdfsHRI--">
@@ -532,7 +532,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>getHdfsHRI</h4>
-<pre><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/util/HBaseFsck.HbckInfo.html#line.3990">getHdfsHRI</a>()</pre>
+<pre><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/util/HBaseFsck.HbckInfo.html#line.3986">getHdfsHRI</a>()</pre>
 </li>
 </ul>
 <a name="setSkipChecks-boolean-">
@@ -541,7 +541,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>setSkipChecks</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3997">setSkipChecks</a>(boolean&nbsp;skipChecks)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3993">setSkipChecks</a>(boolean&nbsp;skipChecks)</pre>
 </li>
 </ul>
 <a name="isSkipChecks--">
@@ -550,7 +550,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>isSkipChecks</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.4001">isSkipChecks</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.3997">isSkipChecks</a>()</pre>
 </li>
 </ul>
 <a name="setMerged-boolean-">
@@ -559,7 +559,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>setMerged</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.4005">setMerged</a>(boolean&nbsp;isMerged)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.4001">setMerged</a>(boolean&nbsp;isMerged)</pre>
 </li>
 </ul>
 <a name="isMerged--">
@@ -568,7 +568,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/KeyRange.html" t
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isMerged</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.4009">isMerged</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#line.4005">isMerged</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html
index c433553..30d6a10 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html
@@ -107,7 +107,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.3820">HBaseFsck.HdfsEntry</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.3816">HBaseFsck.HdfsEntry</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Stores the regioninfo entries from HDFS</div>
 </li>
@@ -201,7 +201,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hri</h4>
-<pre><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/util/HBaseFsck.HdfsEntry.html#line.3821">hri</a></pre>
+<pre><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/util/HBaseFsck.HdfsEntry.html#line.3817">hri</a></pre>
 </li>
 </ul>
 <a name="hdfsRegionDir">
@@ -210,7 +210,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hdfsRegionDir</h4>
-<pre>org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html#line.3822">hdfsRegionDir</a></pre>
+<pre>org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html#line.3818">hdfsRegionDir</a></pre>
 </li>
 </ul>
 <a name="hdfsRegionDirModTime">
@@ -219,7 +219,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hdfsRegionDirModTime</h4>
-<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html#line.3823">hdfsRegionDirModTime</a></pre>
+<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html#line.3819">hdfsRegionDirModTime</a></pre>
 </li>
 </ul>
 <a name="hdfsRegioninfoFilePresent">
@@ -228,7 +228,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hdfsRegioninfoFilePresent</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html#line.3824">hdfsRegioninfoFilePresent</a></pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html#line.3820">hdfsRegioninfoFilePresent</a></pre>
 </li>
 </ul>
 <a name="hdfsOnlyEdits">
@@ -237,7 +237,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>hdfsOnlyEdits</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html#line.3825">hdfsOnlyEdits</a></pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html#line.3821">hdfsOnlyEdits</a></pre>
 </li>
 </ul>
 </li>
@@ -254,7 +254,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HdfsEntry</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html#line.3820">HdfsEntry</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HdfsEntry.html#line.3816">HdfsEntry</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html
index 089d1ff..f9193e7 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.3769">HBaseFsck.MetaEntry</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.3765">HBaseFsck.MetaEntry</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></pre>
 <div class="block">Stores the regioninfo entries scanned from META</div>
 </li>
@@ -264,7 +264,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServer</h4>
-<pre><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/util/HBaseFsck.MetaEntry.html#line.3770">regionServer</a></pre>
+<pre><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/util/HBaseFsck.MetaEntry.html#line.3766">regionServer</a></pre>
 </li>
 </ul>
 <a name="modTime">
@@ -273,7 +273,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>modTime</h4>
-<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html#line.3771">modTime</a></pre>
+<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html#line.3767">modTime</a></pre>
 </li>
 </ul>
 <a name="splitA">
@@ -282,7 +282,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>splitA</h4>
-<pre><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/util/HBaseFsck.MetaEntry.html#line.3772">splitA</a></pre>
+<pre><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/util/HBaseFsck.MetaEntry.html#line.3768">splitA</a></pre>
 </li>
 </ul>
 <a name="splitB">
@@ -291,7 +291,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title=
 <ul class="blockListLast">
 <li class="blockList">
 <h4>splitB</h4>
-<pre><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/util/HBaseFsck.MetaEntry.html#line.3772">splitB</a></pre>
+<pre><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/util/HBaseFsck.MetaEntry.html#line.3768">splitB</a></pre>
 </li>
 </ul>
 </li>
@@ -308,7 +308,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>MetaEntry</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html#line.3774">MetaEntry</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;rinfo,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html#line.3770">MetaEntry</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;rinfo,
                  <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;regionServer,
                  long&nbsp;modTime)</pre>
 </li>
@@ -319,7 +319,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title=
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MetaEntry</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html#line.3778">MetaEntry</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;rinfo,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html#line.3774">MetaEntry</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;rinfo,
                  <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;regionServer,
                  long&nbsp;modTime,
                  <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;splitA,
@@ -340,7 +340,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title=
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html#line.3788">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html#line.3784">equals</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></dd>
@@ -355,7 +355,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title=
 <ul class="blockListLast">
 <li class="blockList">
 <h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html#line.3802">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.MetaEntry.html#line.3798">hashCode</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.OnlineEntry.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.OnlineEntry.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.OnlineEntry.html
index c6753fd..3f66d8c 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.OnlineEntry.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.OnlineEntry.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.3831">HBaseFsck.OnlineEntry</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.3827">HBaseFsck.OnlineEntry</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Stores the regioninfo retrieved from Online region servers.</div>
 </li>
@@ -206,7 +206,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hri</h4>
-<pre><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/util/HBaseFsck.OnlineEntry.html#line.3832">hri</a></pre>
+<pre><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/util/HBaseFsck.OnlineEntry.html#line.3828">hri</a></pre>
 </li>
 </ul>
 <a name="hsa">
@@ -215,7 +215,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>hsa</h4>
-<pre><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/util/HBaseFsck.OnlineEntry.html#line.3833">hsa</a></pre>
+<pre><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/util/HBaseFsck.OnlineEntry.html#line.3829">hsa</a></pre>
 </li>
 </ul>
 </li>
@@ -232,7 +232,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>OnlineEntry</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.OnlineEntry.html#line.3831">OnlineEntry</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.OnlineEntry.html#line.3827">OnlineEntry</a>()</pre>
 </li>
 </ul>
 </li>
@@ -249,7 +249,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.OnlineEntry.html#line.3836">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.OnlineEntry.html#line.3832">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html
index ae4c534..e8b4b2b 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4140">HBaseFsck.PrintingErrorReporter</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4136">HBaseFsck.PrintingErrorReporter</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a></pre>
 </li>
@@ -301,7 +301,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>errorCount</h4>
-<pre>public&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4141">errorCount</a></pre>
+<pre>public&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4137">errorCount</a></pre>
 </li>
 </ul>
 <a name="showProgress">
@@ -310,7 +310,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>showProgress</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4142">showProgress</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4138">showProgress</a></pre>
 </li>
 </ul>
 <a name="progressThreshold">
@@ -319,7 +319,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>progressThreshold</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4144">progressThreshold</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4140">progressThreshold</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.PrintingErrorReporter.progressThreshold">Constant Field Values</a></dd>
@@ -332,7 +332,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>errorTables</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4146">errorTables</a></pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4142">errorTables</a></pre>
 </li>
 </ul>
 <a name="errorList">
@@ -341,7 +341,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockListLast">
 <li class="blockList">
 <h4>errorList</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4149">errorList</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4145">errorList</a></pre>
 </li>
 </ul>
 </li>
@@ -358,7 +358,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PrintingErrorReporter</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4140">PrintingErrorReporter</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4136">PrintingErrorReporter</a>()</pre>
 </li>
 </ul>
 </li>
@@ -375,7 +375,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>clear</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4152">clear</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4148">clear</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#clear--">clear</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a></code></dd>
@@ -388,7 +388,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>reportError</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4159">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4155">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -402,7 +402,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>reportError</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4174">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4170">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message,
                         <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;table)</pre>
 <dl>
@@ -417,7 +417,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>reportError</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4180">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4176">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message,
                         <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;table,
                         <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;info)</pre>
@@ -433,7 +433,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>reportError</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4188">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4184">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message,
                         <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;table,
                         <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;info1,
@@ -450,7 +450,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>reportError</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4197">reportError</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4193">reportError</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#reportError-java.lang.String-">reportError</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a></code></dd>
@@ -463,7 +463,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>report</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4207">report</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4203">report</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
 <div class="block">Report error information, but do not increment the error count.  Intended for cases
  where the actual error would have been reported previously.</div>
 <dl>
@@ -480,7 +480,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>summarize</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4215">summarize</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4211">summarize</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#summarize--">summarize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a></code></dd>
@@ -493,7 +493,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>getErrorList</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4228">getErrorList</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4224">getErrorList</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#getErrorList--">getErrorList</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a></code></dd>
@@ -506,7 +506,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>print</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4233">print</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4229">print</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#print-java.lang.String-">print</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a></code></dd>
@@ -519,7 +519,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>tableHasErrors</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4240">tableHasErrors</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;table)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4236">tableHasErrors</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;table)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#tableHasErrors-org.apache.hadoop.hbase.util.HBaseFsck.TableInfo-">tableHasErrors</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a></code></dd>
@@ -532,7 +532,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>resetErrors</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4245">resetErrors</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4241">resetErrors</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#resetErrors--">resetErrors</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a></code></dd>
@@ -545,7 +545,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockList">
 <li class="blockList">
 <h4>detail</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4250">detail</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4246">detail</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#detail-java.lang.String-">detail</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a></code></dd>
@@ -558,7 +558,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorR
 <ul class="blockListLast">
 <li class="blockList">
 <h4>progress</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4258">progress</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.PrintingErrorReporter.html#line.4254">progress</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#progress--">progress</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html
index 222525a..3c249f7 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.822">HBaseFsck.RegionBoundariesInformation</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.820">HBaseFsck.RegionBoundariesInformation</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -219,7 +219,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>regionName</h4>
-<pre>public&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.823">regionName</a></pre>
+<pre>public&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.821">regionName</a></pre>
 </li>
 </ul>
 <a name="metaFirstKey">
@@ -228,7 +228,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>metaFirstKey</h4>
-<pre>public&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.824">metaFirstKey</a></pre>
+<pre>public&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.822">metaFirstKey</a></pre>
 </li>
 </ul>
 <a name="metaLastKey">
@@ -237,7 +237,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>metaLastKey</h4>
-<pre>public&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.825">metaLastKey</a></pre>
+<pre>public&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.823">metaLastKey</a></pre>
 </li>
 </ul>
 <a name="storesFirstKey">
@@ -246,7 +246,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>storesFirstKey</h4>
-<pre>public&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.826">storesFirstKey</a></pre>
+<pre>public&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.824">storesFirstKey</a></pre>
 </li>
 </ul>
 <a name="storesLastKey">
@@ -255,7 +255,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>storesLastKey</h4>
-<pre>public&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.827">storesLastKey</a></pre>
+<pre>public&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.825">storesLastKey</a></pre>
 </li>
 </ul>
 </li>
@@ -272,7 +272,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RegionBoundariesInformation</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.822">RegionBoundariesInformation</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.820">RegionBoundariesInformation</a>()</pre>
 </li>
 </ul>
 </li>
@@ -289,7 +289,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.829">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionBoundariesInformation.html#line.827">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.RegionRepairException.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.RegionRepairException.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.RegionRepairException.html
index 975a9e0..67d06a2 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.RegionRepairException.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.RegionRepairException.html
@@ -126,7 +126,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1264">HBaseFsck.RegionRepairException</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.1262">HBaseFsck.RegionRepairException</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Exception thrown when a integrity repair operation fails in an
  unresolvable way.</div>
@@ -221,7 +221,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>serialVersionUID</h4>
-<pre>private static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionRepairException.html#line.1265">serialVersionUID</a></pre>
+<pre>private static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionRepairException.html#line.1263">serialVersionUID</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.HBaseFsck.RegionRepairException.serialVersionUID">Constant Field Values</a></dd>
@@ -234,7 +234,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ioe</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionRepairException.html#line.1266">ioe</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionRepairException.html#line.1264">ioe</a></pre>
 </li>
 </ul>
 </li>
@@ -251,7 +251,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RegionRepairException</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionRepairException.html#line.1267">RegionRepairException</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.RegionRepairException.html#line.1265">RegionRepairException</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;s,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>&nbsp;ioe)</pre>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html
index 5f064b4..4914edd 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2954">HBaseFsck.TableInfo.HDFSIntegrityFixer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html#line.2950">HBaseFsck.TableInfo.HDFSIntegrityFixer</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.IntegrityFixSuggester.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo.IntegrityFixSuggester</a></pre>
 <div class="block">This handler fixes integrity errors from hdfs information.  There are
  basically three classes of integrity problems 1) holes, 2) overlaps, and
@@ -295,7 +295,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.2955">conf</a></pre>
+<pre>org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.2951">conf</a></pre>
 </li>
 </ul>
 <a name="fixOverlaps">
@@ -304,7 +304,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo
 <ul class="blockListLast">
 <li class="blockList">
 <h4>fixOverlaps</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.2957">fixOverlaps</a></pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.2953">fixOverlaps</a></pre>
 </li>
 </ul>
 </li>
@@ -321,7 +321,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HDFSIntegrityFixer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.2959">HDFSIntegrityFixer</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;ti,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.2955">HDFSIntegrityFixer</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;ti,
                    <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html" title="interface in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter</a>&nbsp;errors,
                    org.apache.hadoop.conf.Configuration&nbsp;conf,
                    boolean&nbsp;fixHoles,
@@ -342,7 +342,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo
 <ul class="blockList">
 <li class="blockList">
 <h4>handleRegionStartKeyNotEmpty</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.2973">handleRegionStartKeyNotEmpty</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;next)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.2969">handleRegionStartKeyNotEmpty</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;next)
                                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This is a special case hole -- when the first region of a table is
  missing from META, HBase doesn't acknowledge the existance of the
@@ -367,7 +367,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo
 <ul class="blockList">
 <li class="blockList">
 <h4>handleRegionEndKeyNotEmpty</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.2993">handleRegionEndKeyNotEmpty</a>(byte[]&nbsp;curEndKey)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.2989">handleRegionEndKeyNotEmpty</a>(byte[]&nbsp;curEndKey)
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html#handleRegionEndKeyNotEmpty-byte:A-">TableIntegrityErrorHandlerImpl</a></code></span></div>
 <div class="block">Callback for handling case where a Table has a last region that does not
@@ -391,7 +391,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo
 <ul class="blockList">
 <li class="blockList">
 <h4>handleHoleInRegionChain</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.3015">handleHoleInRegionChain</a>(byte[]&nbsp;holeStartKey,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.3011">handleHoleInRegionChain</a>(byte[]&nbsp;holeStartKey,
                                     byte[]&nbsp;holeStopKey)
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">There is a hole in the hdfs regions that violates the table integrity
@@ -415,7 +415,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo
 <ul class="blockList">
 <li class="blockList">
 <h4>handleOverlapGroup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.3045">handleOverlapGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt;&nbsp;overlap)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.3041">handleOverlapGroup</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt;&nbsp;overlap)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This takes set of overlapping regions and merges them into a single
  region.  This covers cases like degenerate regions, shared start key,
@@ -444,7 +444,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo
 <ul class="blockList">
 <li class="blockList">
 <h4>removeParentsAndFixSplits</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.3070">removeParentsAndFixSplits</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt;&nbsp;overlap)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.3066">removeParentsAndFixSplits</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt;&nbsp;overlap)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -458,7 +458,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeOverlaps</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.3182">mergeOverlaps</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt;&nbsp;overlap)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.3178">mergeOverlaps</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt;&nbsp;overlap)
             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -472,7 +472,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo
 <ul class="blockListLast">
 <li class="blockList">
 <h4>sidelineBigOverlaps</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.3260">sidelineBigOverlaps</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt;&nbsp;bigOverlap)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.HDFSIntegrityFixer.html#line.3256">sidelineBigOverlaps</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&gt;&nbsp;bigOverlap)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Sideline some regions in a big overlap group so that it
  will have fewer regions, and it is easier to merge them later on.</div>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.html b/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.html
index ea234c2..34c375d 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/CommonFSUtils.html
@@ -567,7 +567,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>warningMap</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.hadoop.fs.FileSystem,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.484">warningMap</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.hadoop.fs.FileSystem,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.490">warningMap</a></pre>
 </li>
 </ul>
 </li>
@@ -972,7 +972,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isValidWALRootDir</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.400">isValidWALRootDir</a>(org.apache.hadoop.fs.Path&nbsp;walDir,
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.406">isValidWALRootDir</a>(org.apache.hadoop.fs.Path&nbsp;walDir,
                                          org.apache.hadoop.conf.Configuration&nbsp;c)
                                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -987,7 +987,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDir</h4>
-<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.421">getTableDir</a>(org.apache.hadoop.fs.Path&nbsp;rootdir,
+<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.427">getTableDir</a>(org.apache.hadoop.fs.Path&nbsp;rootdir,
                                                     <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Returns the <code>Path</code> object representing the table directory under
  path rootdir</div>
@@ -1006,7 +1006,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public static&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/util/CommonFSUtils.html#line.434">getTableName</a>(org.apache.hadoop.fs.Path&nbsp;tablePath)</pre>
+<pre>public static&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/util/CommonFSUtils.html#line.440">getTableName</a>(org.apache.hadoop.fs.Path&nbsp;tablePath)</pre>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase"><code>TableName</code></a> object representing
  the table directory under
  path rootdir</div>
@@ -1024,7 +1024,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNamespaceDir</h4>
-<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.446">getNamespaceDir</a>(org.apache.hadoop.fs.Path&nbsp;rootdir,
+<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.452">getNamespaceDir</a>(org.apache.hadoop.fs.Path&nbsp;rootdir,
                                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</pre>
 <div class="block">Returns the <code>Path</code> object representing
  the namespace directory under path rootdir</div>
@@ -1043,7 +1043,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setStoragePolicy</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.469">setStoragePolicy</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.475">setStoragePolicy</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                     org.apache.hadoop.conf.Configuration&nbsp;conf,
                                     org.apache.hadoop.fs.Path&nbsp;path,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;policyKey,
@@ -1074,7 +1074,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setStoragePolicy</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.503">setStoragePolicy</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.509">setStoragePolicy</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                     org.apache.hadoop.fs.Path&nbsp;path,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;storagePolicy)</pre>
 <div class="block">Sets storage policy for given path.
@@ -1101,7 +1101,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>invokeSetStoragePolicy</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.524">invokeSetStoragePolicy</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.530">invokeSetStoragePolicy</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                            org.apache.hadoop.fs.Path&nbsp;path,
                                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;storagePolicy)</pre>
 </li>
@@ -1112,7 +1112,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isHDFS</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.607">isHDFS</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.613">isHDFS</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1130,7 +1130,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isRecoveredEdits</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.618">isRecoveredEdits</a>(org.apache.hadoop.fs.Path&nbsp;path)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.624">isRecoveredEdits</a>(org.apache.hadoop.fs.Path&nbsp;path)</pre>
 <div class="block">Checks if the given path is the one with 'recovered.edits' dir.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1146,7 +1146,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentFileSystem</h4>
-<pre>public static&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.627">getCurrentFileSystem</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>public static&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.633">getCurrentFileSystem</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                                                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1164,7 +1164,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>listStatus</h4>
-<pre>public static&nbsp;org.apache.hadoop.fs.FileStatus[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.646">listStatus</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/CommonFSUtils.html#line.652">listStatus</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                            org.apache.hadoop.fs.Path&nbsp;dir,
                                                            org.apache.hadoop.fs.PathFilter&nbsp;filter)
                                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1193,7 +1193,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>listStatus</h4>
-<pre>public static&nbsp;org.apache.hadoop.fs.FileStatus[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.671">listStatus</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/CommonFSUtils.html#line.677">listStatus</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                            org.apache.hadoop.fs.Path&nbsp;dir)
                                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Calls fs.listStatus() and treats FileNotFoundException as non-fatal
@@ -1215,7 +1215,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>listLocatedStatus</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.LocatedFileStatus&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.682">listLocatedStatus</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.LocatedFileStatus&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.688">listLocatedStatus</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                                              org.apache.hadoop.fs.Path&nbsp;dir)
                                                                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Calls fs.listFiles() to get FileStatus and BlockLocations together for reducing rpc call</div>
@@ -1236,7 +1236,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>delete</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.712">delete</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.718">delete</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                              org.apache.hadoop.fs.Path&nbsp;path,
                              boolean&nbsp;recursive)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1259,7 +1259,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isExists</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.725">isExists</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.731">isExists</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                org.apache.hadoop.fs.Path&nbsp;path)
                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Calls fs.exists(). Checks if the specified path exists</div>
@@ -1280,7 +1280,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>logFileSystemState</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.736">logFileSystemState</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.742">logFileSystemState</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                       org.apache.hadoop.fs.Path&nbsp;root,
                                       org.slf4j.Logger&nbsp;LOG)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1301,7 +1301,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>logFSTree</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.747">logFSTree</a>(org.slf4j.Logger&nbsp;LOG,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.753">logFSTree</a>(org.slf4j.Logger&nbsp;LOG,
                               org.apache.hadoop.fs.FileSystem&nbsp;fs,
                               org.apache.hadoop.fs.Path&nbsp;root,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;prefix)
@@ -1321,7 +1321,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>renameAndSetModifyTime</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.764">renameAndSetModifyTime</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.770">renameAndSetModifyTime</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                              org.apache.hadoop.fs.Path&nbsp;src,
                                              org.apache.hadoop.fs.Path&nbsp;dest)
                                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1337,7 +1337,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.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/CommonFSUtils.html#line.776">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/CommonFSUtils.html#line.782">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>
@@ -1352,7 +1352,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.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/CommonFSUtils.html#line.794">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/CommonFSUtils.html#line.800">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>
@@ -1366,7 +1366,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>hasCapability</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.850">hasCapability</a>(org.apache.hadoop.fs.FSDataOutputStream&nbsp;stream,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html#line.856">hasCapability</a>(org.apache.hadoop.fs.FSDataOutputStream&nbsp;stream,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;capability)</pre>
 <div class="block">If our FileSystem version includes the StreamCapabilities class, check if
  the given stream has a particular capability.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.CheckRegionConsistencyWorkItem.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.CheckRegionConsistencyWorkItem.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.CheckRegionConsistencyWorkItem.html
index ec7cf6a..04df186 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.CheckRegionConsistencyWorkItem.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.CheckRegionConsistencyWorkItem.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.2048">HBaseFsck.CheckRegionConsistencyWorkItem</a>
+<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.2044">HBaseFsck.CheckRegionConsistencyWorkItem</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</pre>
 </li>
@@ -211,7 +211,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockList">
 <li class="blockList">
 <h4>key</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.CheckRegionConsistencyWorkItem.html#line.2049">key</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.CheckRegionConsistencyWorkItem.html#line.2045">key</a></pre>
 </li>
 </ul>
 <a name="hbi">
@@ -220,7 +220,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>hbi</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.CheckRegionConsistencyWorkItem.html#line.2050">hbi</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.CheckRegionConsistencyWorkItem.html#line.2046">hbi</a></pre>
 </li>
 </ul>
 </li>
@@ -237,7 +237,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CheckRegionConsistencyWorkItem</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.CheckRegionConsistencyWorkItem.html#line.2052">CheckRegionConsistencyWorkItem</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.CheckRegionConsistencyWorkItem.html#line.2048">CheckRegionConsistencyWorkItem</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                                <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;hbi)</pre>
 </li>
 </ul>
@@ -255,7 +255,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.CheckRegionConsistencyWorkItem.html#line.2058">call</a>()
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.CheckRegionConsistencyWorkItem.html#line.2054">call</a>()
           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html
index ba4274b..585f44a 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4107">HBaseFsck.ErrorReporter.ERROR_CODE</a>
+<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4103">HBaseFsck.ErrorReporter.ERROR_CODE</a>
 extends <a href="http://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/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&gt;</pre>
 </li>
 </ul>
@@ -309,7 +309,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>UNKNOWN</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4108">UNKNOWN</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4104">UNKNOWN</a></pre>
 </li>
 </ul>
 <a name="NO_META_REGION">
@@ -318,7 +318,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NO_META_REGION</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4108">NO_META_REGION</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4104">NO_META_REGION</a></pre>
 </li>
 </ul>
 <a name="NULL_META_REGION">
@@ -327,7 +327,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NULL_META_REGION</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4108">NULL_META_REGION</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4104">NULL_META_REGION</a></pre>
 </li>
 </ul>
 <a name="NO_VERSION_FILE">
@@ -336,7 +336,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NO_VERSION_FILE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4108">NO_VERSION_FILE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4104">NO_VERSION_FILE</a></pre>
 </li>
 </ul>
 <a name="NOT_IN_META_HDFS">
@@ -345,7 +345,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NOT_IN_META_HDFS</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4108">NOT_IN_META_HDFS</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4104">NOT_IN_META_HDFS</a></pre>
 </li>
 </ul>
 <a name="NOT_IN_META">
@@ -354,7 +354,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NOT_IN_META</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4108">NOT_IN_META</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4104">NOT_IN_META</a></pre>
 </li>
 </ul>
 <a name="NOT_IN_META_OR_DEPLOYED">
@@ -363,7 +363,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NOT_IN_META_OR_DEPLOYED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4109">NOT_IN_META_OR_DEPLOYED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4105">NOT_IN_META_OR_DEPLOYED</a></pre>
 </li>
 </ul>
 <a name="NOT_IN_HDFS_OR_DEPLOYED">
@@ -372,7 +372,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NOT_IN_HDFS_OR_DEPLOYED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4109">NOT_IN_HDFS_OR_DEPLOYED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4105">NOT_IN_HDFS_OR_DEPLOYED</a></pre>
 </li>
 </ul>
 <a name="NOT_IN_HDFS">
@@ -381,7 +381,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NOT_IN_HDFS</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4109">NOT_IN_HDFS</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4105">NOT_IN_HDFS</a></pre>
 </li>
 </ul>
 <a name="SERVER_DOES_NOT_MATCH_META">
@@ -390,7 +390,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>SERVER_DOES_NOT_MATCH_META</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4109">SERVER_DOES_NOT_MATCH_META</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4105">SERVER_DOES_NOT_MATCH_META</a></pre>
 </li>
 </ul>
 <a name="NOT_DEPLOYED">
@@ -399,7 +399,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NOT_DEPLOYED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4110">NOT_DEPLOYED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4106">NOT_DEPLOYED</a></pre>
 </li>
 </ul>
 <a name="MULTI_DEPLOYED">
@@ -408,7 +408,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>MULTI_DEPLOYED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4111">MULTI_DEPLOYED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4107">MULTI_DEPLOYED</a></pre>
 </li>
 </ul>
 <a name="SHOULD_NOT_BE_DEPLOYED">
@@ -417,7 +417,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>SHOULD_NOT_BE_DEPLOYED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4111">SHOULD_NOT_BE_DEPLOYED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4107">SHOULD_NOT_BE_DEPLOYED</a></pre>
 </li>
 </ul>
 <a name="MULTI_META_REGION">
@@ -426,7 +426,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>MULTI_META_REGION</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4111">MULTI_META_REGION</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4107">MULTI_META_REGION</a></pre>
 </li>
 </ul>
 <a name="RS_CONNECT_FAILURE">
@@ -435,7 +435,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>RS_CONNECT_FAILURE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4111">RS_CONNECT_FAILURE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4107">RS_CONNECT_FAILURE</a></pre>
 </li>
 </ul>
 <a name="FIRST_REGION_STARTKEY_NOT_EMPTY">
@@ -444,7 +444,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>FIRST_REGION_STARTKEY_NOT_EMPTY</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4112">FIRST_REGION_STARTKEY_NOT_EMPTY</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4108">FIRST_REGION_STARTKEY_NOT_EMPTY</a></pre>
 </li>
 </ul>
 <a name="LAST_REGION_ENDKEY_NOT_EMPTY">
@@ -453,7 +453,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>LAST_REGION_ENDKEY_NOT_EMPTY</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4112">LAST_REGION_ENDKEY_NOT_EMPTY</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4108">LAST_REGION_ENDKEY_NOT_EMPTY</a></pre>
 </li>
 </ul>
 <a name="DUPE_STARTKEYS">
@@ -462,7 +462,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>DUPE_STARTKEYS</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4112">DUPE_STARTKEYS</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4108">DUPE_STARTKEYS</a></pre>
 </li>
 </ul>
 <a name="HOLE_IN_REGION_CHAIN">
@@ -471,7 +471,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>HOLE_IN_REGION_CHAIN</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4113">HOLE_IN_REGION_CHAIN</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4109">HOLE_IN_REGION_CHAIN</a></pre>
 </li>
 </ul>
 <a name="OVERLAP_IN_REGION_CHAIN">
@@ -480,7 +480,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>OVERLAP_IN_REGION_CHAIN</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4113">OVERLAP_IN_REGION_CHAIN</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4109">OVERLAP_IN_REGION_CHAIN</a></pre>
 </li>
 </ul>
 <a name="REGION_CYCLE">
@@ -489,7 +489,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_CYCLE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4113">REGION_CYCLE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4109">REGION_CYCLE</a></pre>
 </li>
 </ul>
 <a name="DEGENERATE_REGION">
@@ -498,7 +498,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>DEGENERATE_REGION</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4113">DEGENERATE_REGION</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4109">DEGENERATE_REGION</a></pre>
 </li>
 </ul>
 <a name="ORPHAN_HDFS_REGION">
@@ -507,7 +507,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>ORPHAN_HDFS_REGION</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4114">ORPHAN_HDFS_REGION</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4110">ORPHAN_HDFS_REGION</a></pre>
 </li>
 </ul>
 <a name="LINGERING_SPLIT_PARENT">
@@ -516,7 +516,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>LINGERING_SPLIT_PARENT</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4114">LINGERING_SPLIT_PARENT</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4110">LINGERING_SPLIT_PARENT</a></pre>
 </li>
 </ul>
 <a name="NO_TABLEINFO_FILE">
@@ -525,7 +525,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NO_TABLEINFO_FILE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4114">NO_TABLEINFO_FILE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4110">NO_TABLEINFO_FILE</a></pre>
 </li>
 </ul>
 <a name="LINGERING_REFERENCE_HFILE">
@@ -534,7 +534,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>LINGERING_REFERENCE_HFILE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4114">LINGERING_REFERENCE_HFILE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4110">LINGERING_REFERENCE_HFILE</a></pre>
 </li>
 </ul>
 <a name="LINGERING_HFILELINK">
@@ -543,7 +543,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>LINGERING_HFILELINK</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4115">LINGERING_HFILELINK</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4111">LINGERING_HFILELINK</a></pre>
 </li>
 </ul>
 <a name="WRONG_USAGE">
@@ -552,7 +552,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>WRONG_USAGE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4115">WRONG_USAGE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4111">WRONG_USAGE</a></pre>
 </li>
 </ul>
 <a name="EMPTY_META_CELL">
@@ -561,7 +561,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>EMPTY_META_CELL</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4115">EMPTY_META_CELL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4111">EMPTY_META_CELL</a></pre>
 </li>
 </ul>
 <a name="EXPIRED_TABLE_LOCK">
@@ -570,7 +570,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>EXPIRED_TABLE_LOCK</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4115">EXPIRED_TABLE_LOCK</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4111">EXPIRED_TABLE_LOCK</a></pre>
 </li>
 </ul>
 <a name="BOUNDARIES_ERROR">
@@ -579,7 +579,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>BOUNDARIES_ERROR</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4115">BOUNDARIES_ERROR</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4111">BOUNDARIES_ERROR</a></pre>
 </li>
 </ul>
 <a name="ORPHAN_TABLE_STATE">
@@ -588,7 +588,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>ORPHAN_TABLE_STATE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4116">ORPHAN_TABLE_STATE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4112">ORPHAN_TABLE_STATE</a></pre>
 </li>
 </ul>
 <a name="NO_TABLE_STATE">
@@ -597,7 +597,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NO_TABLE_STATE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4116">NO_TABLE_STATE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4112">NO_TABLE_STATE</a></pre>
 </li>
 </ul>
 <a name="UNDELETED_REPLICATION_QUEUE">
@@ -606,7 +606,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>UNDELETED_REPLICATION_QUEUE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4116">UNDELETED_REPLICATION_QUEUE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4112">UNDELETED_REPLICATION_QUEUE</a></pre>
 </li>
 </ul>
 <a name="DUPE_ENDKEYS">
@@ -615,7 +615,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DUPE_ENDKEYS</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4116">DUPE_ENDKEYS</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.4112">DUPE_ENDKEYS</a></pre>
 </li>
 </ul>
 </li>
@@ -632,7 +632,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/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.3831">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.3827">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:
@@ -652,7 +652,7 @@ for (HBaseFsck.ErrorReporter.ERROR_CODE c : HBaseFsck.ErrorReporter.ERROR_CODE.v
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.3831">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.3827">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html
index 7949d3d..03dd405 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4106">HBaseFsck.ErrorReporter</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4102">HBaseFsck.ErrorReporter</a></pre>
 </li>
 </ul>
 </div>
@@ -234,7 +234,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>clear</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4118">clear</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4114">clear</a>()</pre>
 </li>
 </ul>
 <a name="report-java.lang.String-">
@@ -243,7 +243,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>report</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4119">report</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4115">report</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
 </li>
 </ul>
 <a name="reportError-java.lang.String-">
@@ -252,7 +252,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>reportError</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4120">reportError</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4116">reportError</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
 </li>
 </ul>
 <a name="reportError-org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter.ERROR_CODE-java.lang.String-">
@@ -261,7 +261,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>reportError</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4121">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4117">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
 </li>
 </ul>
@@ -271,7 +271,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>reportError</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4122">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4118">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message,
                  <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;table)</pre>
 </li>
@@ -282,7 +282,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>reportError</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4123">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4119">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message,
                  <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;table,
                  <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;info)</pre>
@@ -294,7 +294,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>reportError</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4124">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4120">reportError</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;errorCode,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message,
                  <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;table,
                  <a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a>&nbsp;info1,
@@ -307,7 +307,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>summarize</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4131">summarize</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4127">summarize</a>()</pre>
 </li>
 </ul>
 <a name="detail-java.lang.String-">
@@ -316,7 +316,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>detail</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4132">detail</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;details)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4128">detail</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;details)</pre>
 </li>
 </ul>
 <a name="getErrorList--">
@@ -325,7 +325,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>getErrorList</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4133">getErrorList</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4129">getErrorList</a>()</pre>
 </li>
 </ul>
 <a name="progress--">
@@ -334,7 +334,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>progress</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4134">progress</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4130">progress</a>()</pre>
 </li>
 </ul>
 <a name="print-java.lang.String-">
@@ -343,7 +343,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>print</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4135">print</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4131">print</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
 </li>
 </ul>
 <a name="resetErrors--">
@@ -352,7 +352,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>resetErrors</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4136">resetErrors</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4132">resetErrors</a>()</pre>
 </li>
 </ul>
 <a name="tableHasErrors-org.apache.hadoop.hbase.util.HBaseFsck.TableInfo-">
@@ -361,7 +361,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockListLast">
 <li class="blockList">
 <h4>tableHasErrors</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4137">tableHasErrors</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;table)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.html#line.4133">tableHasErrors</a>(<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.TableInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.TableInfo</a>&nbsp;table)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.FileLockCallable.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.FileLockCallable.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.FileLockCallable.html
index 48ae8a8..363d88a 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.FileLockCallable.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.FileLockCallable.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.374">HBaseFsck.FileLockCallable</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.372">HBaseFsck.FileLockCallable</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;org.apache.hadoop.fs.FSDataOutputStream&gt;</pre>
 </li>
@@ -212,7 +212,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>retryCounter</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/util/RetryCounter.html" title="class in org.apache.hadoop.hbase.util">RetryCounter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.FileLockCallable.html#line.375">retryCounter</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/util/RetryCounter.html" title="class in org.apache.hadoop.hbase.util">RetryCounter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.FileLockCallable.html#line.373">retryCounter</a></pre>
 </li>
 </ul>
 </li>
@@ -229,7 +229,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FileLockCallable</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.FileLockCallable.html#line.377">FileLockCallable</a>(<a href="../../../../../org/apache/hadoop/hbase/util/RetryCounter.html" title="class in org.apache.hadoop.hbase.util">RetryCounter</a>&nbsp;retryCounter)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.FileLockCallable.html#line.375">FileLockCallable</a>(<a href="../../../../../org/apache/hadoop/hbase/util/RetryCounter.html" title="class in org.apache.hadoop.hbase.util">RetryCounter</a>&nbsp;retryCounter)</pre>
 </li>
 </ul>
 </li>
@@ -246,7 +246,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockList">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.FSDataOutputStream&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.FileLockCallable.html#line.381">call</a>()
+<pre>public&nbsp;org.apache.hadoop.fs.FSDataOutputStream&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.FileLockCallable.html#line.379">call</a>()
                                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -262,7 +262,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
 <ul class="blockListLast">
 <li class="blockList">
 <h4>createFileWithRetries</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.FSDataOutputStream&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.FileLockCallable.html#line.402">createFileWithRetries</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private&nbsp;org.apache.hadoop.fs.FSDataOutputStream&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.FileLockCallable.html#line.400">createFileWithRetries</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                                       org.apache.hadoop.fs.Path&nbsp;hbckLockFilePath,
                                                                       org.apache.hadoop.fs.permission.FsPermission&nbsp;defaultPerms)
                                                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/1f2eeb22/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HBaseFsckTool.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HBaseFsckTool.html b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HBaseFsckTool.html
index 8fd2424..6743609 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HBaseFsckTool.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/HBaseFsck.HBaseFsckTool.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4853">HBaseFsck.HBaseFsckTool</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.html#line.4849">HBaseFsck.HBaseFsckTool</a>
 extends org.apache.hadoop.conf.Configured
 implements org.apache.hadoop.util.Tool</pre>
 <div class="block">This is a Tool wrapper that gathers -Dxxx=yyy configuration settings from the command line.</div>
@@ -207,7 +207,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HBaseFsckTool</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HBaseFsckTool.html#line.4854">HBaseFsckTool</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HBaseFsckTool.html#line.4850">HBaseFsckTool</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 </li>
 </ul>
 </li>
@@ -224,7 +224,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HBaseFsckTool.html#line.4856">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.HBaseFsckTool.html#line.4852">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>