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/05/17 14:48:00 UTC

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

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 74b8701f3 -> 7bcc960d3


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private Histogram remoteRpcCallsHistogram;<a name="line.1079">

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/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 a97dfdc..2b1b6c6 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
@@ -2370,1287 +2370,1292 @@
 <span class="sourceLineNo">2362</span>  }<a name="line.2362"></a>
 <span class="sourceLineNo">2363</span><a name="line.2363"></a>
 <span class="sourceLineNo">2364</span>  @Override<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>  public long modifyTable(final TableName tableName, final TableDescriptor descriptor,<a name="line.2365"></a>
+<span class="sourceLineNo">2365</span>  public long modifyTable(final TableName tableName, final TableDescriptor newDescriptor,<a name="line.2365"></a>
 <span class="sourceLineNo">2366</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2366"></a>
 <span class="sourceLineNo">2367</span>    checkInitialized();<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>    sanityCheckTableDescriptor(descriptor);<a name="line.2368"></a>
+<span class="sourceLineNo">2368</span>    sanityCheckTableDescriptor(newDescriptor);<a name="line.2368"></a>
 <span class="sourceLineNo">2369</span><a name="line.2369"></a>
 <span class="sourceLineNo">2370</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2370"></a>
 <span class="sourceLineNo">2371</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2371"></a>
 <span class="sourceLineNo">2372</span>      @Override<a name="line.2372"></a>
 <span class="sourceLineNo">2373</span>      protected void run() throws IOException {<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>        getMaster().getMasterCoprocessorHost().preModifyTable(tableName, descriptor);<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span><a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>        LOG.info(getClientIdAuditPrefix() + " modify " + tableName);<a name="line.2376"></a>
+<span class="sourceLineNo">2374</span>        TableDescriptor oldDescriptor = getMaster().getTableDescriptors().get(tableName);<a name="line.2374"></a>
+<span class="sourceLineNo">2375</span>        getMaster().getMasterCoprocessorHost()<a name="line.2375"></a>
+<span class="sourceLineNo">2376</span>          .preModifyTable(tableName, oldDescriptor, newDescriptor);<a name="line.2376"></a>
 <span class="sourceLineNo">2377</span><a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>        // Execute the operation synchronously - wait for the operation completes before continuing.<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>        //<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>        submitProcedure(new ModifyTableProcedure(procedureExecutor.getEnvironment(),<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>            descriptor, latch));<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>        latch.await();<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span><a name="line.2386"></a>
-<span class="sourceLineNo">2387</span>        getMaster().getMasterCoprocessorHost().postModifyTable(tableName, descriptor);<a name="line.2387"></a>
-<span class="sourceLineNo">2388</span>      }<a name="line.2388"></a>
-<span class="sourceLineNo">2389</span><a name="line.2389"></a>
-<span class="sourceLineNo">2390</span>      @Override<a name="line.2390"></a>
-<span class="sourceLineNo">2391</span>      protected String getDescription() {<a name="line.2391"></a>
-<span class="sourceLineNo">2392</span>        return "ModifyTableProcedure";<a name="line.2392"></a>
-<span class="sourceLineNo">2393</span>      }<a name="line.2393"></a>
-<span class="sourceLineNo">2394</span>    });<a name="line.2394"></a>
-<span class="sourceLineNo">2395</span>  }<a name="line.2395"></a>
-<span class="sourceLineNo">2396</span><a name="line.2396"></a>
-<span class="sourceLineNo">2397</span>  public long restoreSnapshot(final SnapshotDescription snapshotDesc,<a name="line.2397"></a>
-<span class="sourceLineNo">2398</span>      final long nonceGroup, final long nonce, final boolean restoreAcl) throws IOException {<a name="line.2398"></a>
-<span class="sourceLineNo">2399</span>    checkInitialized();<a name="line.2399"></a>
-<span class="sourceLineNo">2400</span>    getSnapshotManager().checkSnapshotSupport();<a name="line.2400"></a>
-<span class="sourceLineNo">2401</span><a name="line.2401"></a>
-<span class="sourceLineNo">2402</span>    // Ensure namespace exists. Will throw exception if non-known NS.<a name="line.2402"></a>
-<span class="sourceLineNo">2403</span>    final TableName dstTable = TableName.valueOf(snapshotDesc.getTable());<a name="line.2403"></a>
-<span class="sourceLineNo">2404</span>    getClusterSchema().getNamespace(dstTable.getNamespaceAsString());<a name="line.2404"></a>
-<span class="sourceLineNo">2405</span><a name="line.2405"></a>
-<span class="sourceLineNo">2406</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2406"></a>
-<span class="sourceLineNo">2407</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2407"></a>
-<span class="sourceLineNo">2408</span>      @Override<a name="line.2408"></a>
-<span class="sourceLineNo">2409</span>      protected void run() throws IOException {<a name="line.2409"></a>
-<span class="sourceLineNo">2410</span>          setProcId(<a name="line.2410"></a>
-<span class="sourceLineNo">2411</span>            getSnapshotManager().restoreOrCloneSnapshot(snapshotDesc, getNonceKey(), restoreAcl));<a name="line.2411"></a>
-<span class="sourceLineNo">2412</span>      }<a name="line.2412"></a>
-<span class="sourceLineNo">2413</span><a name="line.2413"></a>
-<span class="sourceLineNo">2414</span>      @Override<a name="line.2414"></a>
-<span class="sourceLineNo">2415</span>      protected String getDescription() {<a name="line.2415"></a>
-<span class="sourceLineNo">2416</span>        return "RestoreSnapshotProcedure";<a name="line.2416"></a>
-<span class="sourceLineNo">2417</span>      }<a name="line.2417"></a>
-<span class="sourceLineNo">2418</span>    });<a name="line.2418"></a>
-<span class="sourceLineNo">2419</span>  }<a name="line.2419"></a>
-<span class="sourceLineNo">2420</span><a name="line.2420"></a>
-<span class="sourceLineNo">2421</span>  private void checkTableExists(final TableName tableName)<a name="line.2421"></a>
-<span class="sourceLineNo">2422</span>      throws IOException, TableNotFoundException {<a name="line.2422"></a>
-<span class="sourceLineNo">2423</span>    if (!MetaTableAccessor.tableExists(getConnection(), tableName)) {<a name="line.2423"></a>
-<span class="sourceLineNo">2424</span>      throw new TableNotFoundException(tableName);<a name="line.2424"></a>
-<span class="sourceLineNo">2425</span>    }<a name="line.2425"></a>
-<span class="sourceLineNo">2426</span>  }<a name="line.2426"></a>
-<span class="sourceLineNo">2427</span><a name="line.2427"></a>
-<span class="sourceLineNo">2428</span>  @Override<a name="line.2428"></a>
-<span class="sourceLineNo">2429</span>  public void checkTableModifiable(final TableName tableName)<a name="line.2429"></a>
-<span class="sourceLineNo">2430</span>      throws IOException, TableNotFoundException, TableNotDisabledException {<a name="line.2430"></a>
-<span class="sourceLineNo">2431</span>    if (isCatalogTable(tableName)) {<a name="line.2431"></a>
-<span class="sourceLineNo">2432</span>      throw new IOException("Can't modify catalog tables");<a name="line.2432"></a>
-<span class="sourceLineNo">2433</span>    }<a name="line.2433"></a>
-<span class="sourceLineNo">2434</span>    checkTableExists(tableName);<a name="line.2434"></a>
-<span class="sourceLineNo">2435</span>    TableState ts = getTableStateManager().getTableState(tableName);<a name="line.2435"></a>
-<span class="sourceLineNo">2436</span>    if (!ts.isDisabled()) {<a name="line.2436"></a>
-<span class="sourceLineNo">2437</span>      throw new TableNotDisabledException("Not DISABLED; " + ts);<a name="line.2437"></a>
-<span class="sourceLineNo">2438</span>    }<a name="line.2438"></a>
-<span class="sourceLineNo">2439</span>  }<a name="line.2439"></a>
-<span class="sourceLineNo">2440</span><a name="line.2440"></a>
-<span class="sourceLineNo">2441</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor() throws InterruptedIOException {<a name="line.2441"></a>
-<span class="sourceLineNo">2442</span>    return getClusterMetricsWithoutCoprocessor(EnumSet.allOf(Option.class));<a name="line.2442"></a>
-<span class="sourceLineNo">2443</span>  }<a name="line.2443"></a>
-<span class="sourceLineNo">2444</span><a name="line.2444"></a>
-<span class="sourceLineNo">2445</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor(EnumSet&lt;Option&gt; options)<a name="line.2445"></a>
-<span class="sourceLineNo">2446</span>      throws InterruptedIOException {<a name="line.2446"></a>
-<span class="sourceLineNo">2447</span>    ClusterMetricsBuilder builder = ClusterMetricsBuilder.newBuilder();<a name="line.2447"></a>
-<span class="sourceLineNo">2448</span>    // given that hbase1 can't submit the request with Option,<a name="line.2448"></a>
-<span class="sourceLineNo">2449</span>    // we return all information to client if the list of Option is empty.<a name="line.2449"></a>
-<span class="sourceLineNo">2450</span>    if (options.isEmpty()) {<a name="line.2450"></a>
-<span class="sourceLineNo">2451</span>      options = EnumSet.allOf(Option.class);<a name="line.2451"></a>
-<span class="sourceLineNo">2452</span>    }<a name="line.2452"></a>
-<span class="sourceLineNo">2453</span><a name="line.2453"></a>
-<span class="sourceLineNo">2454</span>    for (Option opt : options) {<a name="line.2454"></a>
-<span class="sourceLineNo">2455</span>      switch (opt) {<a name="line.2455"></a>
-<span class="sourceLineNo">2456</span>        case HBASE_VERSION: builder.setHBaseVersion(VersionInfo.getVersion()); break;<a name="line.2456"></a>
-<span class="sourceLineNo">2457</span>        case CLUSTER_ID: builder.setClusterId(getClusterId()); break;<a name="line.2457"></a>
-<span class="sourceLineNo">2458</span>        case MASTER: builder.setMasterName(getServerName()); break;<a name="line.2458"></a>
-<span class="sourceLineNo">2459</span>        case BACKUP_MASTERS: builder.setBackerMasterNames(getBackupMasters()); break;<a name="line.2459"></a>
-<span class="sourceLineNo">2460</span>        case LIVE_SERVERS: {<a name="line.2460"></a>
-<span class="sourceLineNo">2461</span>          if (serverManager != null) {<a name="line.2461"></a>
-<span class="sourceLineNo">2462</span>            builder.setLiveServerMetrics(serverManager.getOnlineServers().entrySet().stream()<a name="line.2462"></a>
-<span class="sourceLineNo">2463</span>              .collect(Collectors.toMap(e -&gt; e.getKey(), e -&gt; e.getValue())));<a name="line.2463"></a>
-<span class="sourceLineNo">2464</span>          }<a name="line.2464"></a>
-<span class="sourceLineNo">2465</span>          break;<a name="line.2465"></a>
-<span class="sourceLineNo">2466</span>        }<a name="line.2466"></a>
-<span class="sourceLineNo">2467</span>        case DEAD_SERVERS: {<a name="line.2467"></a>
-<span class="sourceLineNo">2468</span>          if (serverManager != null) {<a name="line.2468"></a>
-<span class="sourceLineNo">2469</span>            builder.setDeadServerNames(new ArrayList&lt;&gt;(<a name="line.2469"></a>
-<span class="sourceLineNo">2470</span>              serverManager.getDeadServers().copyServerNames()));<a name="line.2470"></a>
-<span class="sourceLineNo">2471</span>          }<a name="line.2471"></a>
-<span class="sourceLineNo">2472</span>          break;<a name="line.2472"></a>
-<span class="sourceLineNo">2473</span>        }<a name="line.2473"></a>
-<span class="sourceLineNo">2474</span>        case MASTER_COPROCESSORS: {<a name="line.2474"></a>
-<span class="sourceLineNo">2475</span>          if (cpHost != null) {<a name="line.2475"></a>
-<span class="sourceLineNo">2476</span>            builder.setMasterCoprocessorNames(Arrays.asList(getMasterCoprocessors()));<a name="line.2476"></a>
-<span class="sourceLineNo">2477</span>          }<a name="line.2477"></a>
-<span class="sourceLineNo">2478</span>          break;<a name="line.2478"></a>
-<span class="sourceLineNo">2479</span>        }<a name="line.2479"></a>
-<span class="sourceLineNo">2480</span>        case REGIONS_IN_TRANSITION: {<a name="line.2480"></a>
-<span class="sourceLineNo">2481</span>          if (assignmentManager != null) {<a name="line.2481"></a>
-<span class="sourceLineNo">2482</span>            builder.setRegionsInTransition(assignmentManager.getRegionStates()<a name="line.2482"></a>
-<span class="sourceLineNo">2483</span>                .getRegionsStateInTransition());<a name="line.2483"></a>
-<span class="sourceLineNo">2484</span>          }<a name="line.2484"></a>
-<span class="sourceLineNo">2485</span>          break;<a name="line.2485"></a>
-<span class="sourceLineNo">2486</span>        }<a name="line.2486"></a>
-<span class="sourceLineNo">2487</span>        case BALANCER_ON: {<a name="line.2487"></a>
-<span class="sourceLineNo">2488</span>          if (loadBalancerTracker != null) {<a name="line.2488"></a>
-<span class="sourceLineNo">2489</span>            builder.setBalancerOn(loadBalancerTracker.isBalancerOn());<a name="line.2489"></a>
-<span class="sourceLineNo">2490</span>          }<a name="line.2490"></a>
-<span class="sourceLineNo">2491</span>          break;<a name="line.2491"></a>
-<span class="sourceLineNo">2492</span>        }<a name="line.2492"></a>
-<span class="sourceLineNo">2493</span>        case MASTER_INFO_PORT: {<a name="line.2493"></a>
-<span class="sourceLineNo">2494</span>          if (infoServer != null) {<a name="line.2494"></a>
-<span class="sourceLineNo">2495</span>            builder.setMasterInfoPort(infoServer.getPort());<a name="line.2495"></a>
-<span class="sourceLineNo">2496</span>          }<a name="line.2496"></a>
-<span class="sourceLineNo">2497</span>          break;<a name="line.2497"></a>
-<span class="sourceLineNo">2498</span>        }<a name="line.2498"></a>
-<span class="sourceLineNo">2499</span>      }<a name="line.2499"></a>
-<span class="sourceLineNo">2500</span>    }<a name="line.2500"></a>
-<span class="sourceLineNo">2501</span>    return builder.build();<a name="line.2501"></a>
-<span class="sourceLineNo">2502</span>  }<a name="line.2502"></a>
-<span class="sourceLineNo">2503</span><a name="line.2503"></a>
-<span class="sourceLineNo">2504</span>  /**<a name="line.2504"></a>
-<span class="sourceLineNo">2505</span>   * @return cluster status<a name="line.2505"></a>
-<span class="sourceLineNo">2506</span>   */<a name="line.2506"></a>
-<span class="sourceLineNo">2507</span>  public ClusterMetrics getClusterMetrics() throws IOException {<a name="line.2507"></a>
-<span class="sourceLineNo">2508</span>    return getClusterMetrics(EnumSet.allOf(Option.class));<a name="line.2508"></a>
-<span class="sourceLineNo">2509</span>  }<a name="line.2509"></a>
-<span class="sourceLineNo">2510</span><a name="line.2510"></a>
-<span class="sourceLineNo">2511</span>  public ClusterMetrics getClusterMetrics(EnumSet&lt;Option&gt; options) throws IOException {<a name="line.2511"></a>
-<span class="sourceLineNo">2512</span>    if (cpHost != null) {<a name="line.2512"></a>
-<span class="sourceLineNo">2513</span>      cpHost.preGetClusterMetrics();<a name="line.2513"></a>
-<span class="sourceLineNo">2514</span>    }<a name="line.2514"></a>
-<span class="sourceLineNo">2515</span>    ClusterMetrics status = getClusterMetricsWithoutCoprocessor(options);<a name="line.2515"></a>
-<span class="sourceLineNo">2516</span>    if (cpHost != null) {<a name="line.2516"></a>
-<span class="sourceLineNo">2517</span>      cpHost.postGetClusterMetrics(status);<a name="line.2517"></a>
-<span class="sourceLineNo">2518</span>    }<a name="line.2518"></a>
-<span class="sourceLineNo">2519</span>    return status;<a name="line.2519"></a>
-<span class="sourceLineNo">2520</span>  }<a name="line.2520"></a>
-<span class="sourceLineNo">2521</span><a name="line.2521"></a>
-<span class="sourceLineNo">2522</span>  private List&lt;ServerName&gt; getBackupMasters() throws InterruptedIOException {<a name="line.2522"></a>
-<span class="sourceLineNo">2523</span>    // Build Set of backup masters from ZK nodes<a name="line.2523"></a>
-<span class="sourceLineNo">2524</span>    List&lt;String&gt; backupMasterStrings;<a name="line.2524"></a>
-<span class="sourceLineNo">2525</span>    try {<a name="line.2525"></a>
-<span class="sourceLineNo">2526</span>      backupMasterStrings = ZKUtil.listChildrenNoWatch(this.zooKeeper,<a name="line.2526"></a>
-<span class="sourceLineNo">2527</span>        this.zooKeeper.znodePaths.backupMasterAddressesZNode);<a name="line.2527"></a>
-<span class="sourceLineNo">2528</span>    } catch (KeeperException e) {<a name="line.2528"></a>
-<span class="sourceLineNo">2529</span>      LOG.warn(this.zooKeeper.prefix("Unable to list backup servers"), e);<a name="line.2529"></a>
-<span class="sourceLineNo">2530</span>      backupMasterStrings = null;<a name="line.2530"></a>
-<span class="sourceLineNo">2531</span>    }<a name="line.2531"></a>
-<span class="sourceLineNo">2532</span><a name="line.2532"></a>
-<span class="sourceLineNo">2533</span>    List&lt;ServerName&gt; backupMasters = Collections.emptyList();<a name="line.2533"></a>
-<span class="sourceLineNo">2534</span>    if (backupMasterStrings != null &amp;&amp; !backupMasterStrings.isEmpty()) {<a name="line.2534"></a>
-<span class="sourceLineNo">2535</span>      backupMasters = new ArrayList&lt;&gt;(backupMasterStrings.size());<a name="line.2535"></a>
-<span class="sourceLineNo">2536</span>      for (String s: backupMasterStrings) {<a name="line.2536"></a>
-<span class="sourceLineNo">2537</span>        try {<a name="line.2537"></a>
-<span class="sourceLineNo">2538</span>          byte [] bytes;<a name="line.2538"></a>
-<span class="sourceLineNo">2539</span>          try {<a name="line.2539"></a>
-<span class="sourceLineNo">2540</span>            bytes = ZKUtil.getData(this.zooKeeper, ZNodePaths.joinZNode(<a name="line.2540"></a>
-<span class="sourceLineNo">2541</span>                this.zooKeeper.znodePaths.backupMasterAddressesZNode, s));<a name="line.2541"></a>
-<span class="sourceLineNo">2542</span>          } catch (InterruptedException e) {<a name="line.2542"></a>
-<span class="sourceLineNo">2543</span>            throw new InterruptedIOException();<a name="line.2543"></a>
-<span class="sourceLineNo">2544</span>          }<a name="line.2544"></a>
-<span class="sourceLineNo">2545</span>          if (bytes != null) {<a name="line.2545"></a>
-<span class="sourceLineNo">2546</span>            ServerName sn;<a name="line.2546"></a>
-<span class="sourceLineNo">2547</span>            try {<a name="line.2547"></a>
-<span class="sourceLineNo">2548</span>              sn = ProtobufUtil.parseServerNameFrom(bytes);<a name="line.2548"></a>
-<span class="sourceLineNo">2549</span>            } catch (DeserializationException e) {<a name="line.2549"></a>
-<span class="sourceLineNo">2550</span>              LOG.warn("Failed parse, skipping registering backup server", e);<a name="line.2550"></a>
-<span class="sourceLineNo">2551</span>              continue;<a name="line.2551"></a>
-<span class="sourceLineNo">2552</span>            }<a name="line.2552"></a>
-<span class="sourceLineNo">2553</span>            backupMasters.add(sn);<a name="line.2553"></a>
-<span class="sourceLineNo">2554</span>          }<a name="line.2554"></a>
-<span class="sourceLineNo">2555</span>        } catch (KeeperException e) {<a name="line.2555"></a>
-<span class="sourceLineNo">2556</span>          LOG.warn(this.zooKeeper.prefix("Unable to get information about " +<a name="line.2556"></a>
-<span class="sourceLineNo">2557</span>                   "backup servers"), e);<a name="line.2557"></a>
-<span class="sourceLineNo">2558</span>        }<a name="line.2558"></a>
-<span class="sourceLineNo">2559</span>      }<a name="line.2559"></a>
-<span class="sourceLineNo">2560</span>      Collections.sort(backupMasters, new Comparator&lt;ServerName&gt;() {<a name="line.2560"></a>
-<span class="sourceLineNo">2561</span>        @Override<a name="line.2561"></a>
-<span class="sourceLineNo">2562</span>        public int compare(ServerName s1, ServerName s2) {<a name="line.2562"></a>
-<span class="sourceLineNo">2563</span>          return s1.getServerName().compareTo(s2.getServerName());<a name="line.2563"></a>
-<span class="sourceLineNo">2564</span>        }});<a name="line.2564"></a>
-<span class="sourceLineNo">2565</span>    }<a name="line.2565"></a>
-<span class="sourceLineNo">2566</span>    return backupMasters;<a name="line.2566"></a>
-<span class="sourceLineNo">2567</span>  }<a name="line.2567"></a>
-<span class="sourceLineNo">2568</span><a name="line.2568"></a>
-<span class="sourceLineNo">2569</span>  /**<a name="line.2569"></a>
-<span class="sourceLineNo">2570</span>   * The set of loaded coprocessors is stored in a static set. Since it's<a name="line.2570"></a>
-<span class="sourceLineNo">2571</span>   * statically allocated, it does not require that HMaster's cpHost be<a name="line.2571"></a>
-<span class="sourceLineNo">2572</span>   * initialized prior to accessing it.<a name="line.2572"></a>
-<span class="sourceLineNo">2573</span>   * @return a String representation of the set of names of the loaded coprocessors.<a name="line.2573"></a>
-<span class="sourceLineNo">2574</span>   */<a name="line.2574"></a>
-<span class="sourceLineNo">2575</span>  public static String getLoadedCoprocessors() {<a name="line.2575"></a>
-<span class="sourceLineNo">2576</span>    return CoprocessorHost.getLoadedCoprocessors().toString();<a name="line.2576"></a>
-<span class="sourceLineNo">2577</span>  }<a name="line.2577"></a>
-<span class="sourceLineNo">2578</span><a name="line.2578"></a>
-<span class="sourceLineNo">2579</span>  /**<a name="line.2579"></a>
-<span class="sourceLineNo">2580</span>   * @return timestamp in millis when HMaster was started.<a name="line.2580"></a>
-<span class="sourceLineNo">2581</span>   */<a name="line.2581"></a>
-<span class="sourceLineNo">2582</span>  public long getMasterStartTime() {<a name="line.2582"></a>
-<span class="sourceLineNo">2583</span>    return startcode;<a name="line.2583"></a>
-<span class="sourceLineNo">2584</span>  }<a name="line.2584"></a>
-<span class="sourceLineNo">2585</span><a name="line.2585"></a>
-<span class="sourceLineNo">2586</span>  /**<a name="line.2586"></a>
-<span class="sourceLineNo">2587</span>   * @return timestamp in millis when HMaster became the active master.<a name="line.2587"></a>
-<span class="sourceLineNo">2588</span>   */<a name="line.2588"></a>
-<span class="sourceLineNo">2589</span>  public long getMasterActiveTime() {<a name="line.2589"></a>
-<span class="sourceLineNo">2590</span>    return masterActiveTime;<a name="line.2590"></a>
-<span class="sourceLineNo">2591</span>  }<a name="line.2591"></a>
-<span class="sourceLineNo">2592</span><a name="line.2592"></a>
-<span class="sourceLineNo">2593</span>  /**<a name="line.2593"></a>
-<span class="sourceLineNo">2594</span>   * @return timestamp in millis when HMaster finished becoming the active master<a name="line.2594"></a>
-<span class="sourceLineNo">2595</span>   */<a name="line.2595"></a>
-<span class="sourceLineNo">2596</span>  public long getMasterFinishedInitializationTime() {<a name="line.2596"></a>
-<span class="sourceLineNo">2597</span>    return masterFinishedInitializationTime;<a name="line.2597"></a>
-<span class="sourceLineNo">2598</span>  }<a name="line.2598"></a>
-<span class="sourceLineNo">2599</span><a name="line.2599"></a>
-<span class="sourceLineNo">2600</span>  public int getNumWALFiles() {<a name="line.2600"></a>
-<span class="sourceLineNo">2601</span>    return procedureStore != null ? procedureStore.getActiveLogs().size() : 0;<a name="line.2601"></a>
-<span class="sourceLineNo">2602</span>  }<a name="line.2602"></a>
-<span class="sourceLineNo">2603</span><a name="line.2603"></a>
-<span class="sourceLineNo">2604</span>  public WALProcedureStore getWalProcedureStore() {<a name="line.2604"></a>
-<span class="sourceLineNo">2605</span>    return procedureStore;<a name="line.2605"></a>
-<span class="sourceLineNo">2606</span>  }<a name="line.2606"></a>
-<span class="sourceLineNo">2607</span><a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>  public int getRegionServerInfoPort(final ServerName sn) {<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2609"></a>
-<span class="sourceLineNo">2610</span>    if (info == null || info.getInfoPort() == 0) {<a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>      return conf.getInt(HConstants.REGIONSERVER_INFO_PORT,<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>        HConstants.DEFAULT_REGIONSERVER_INFOPORT);<a name="line.2612"></a>
-<span class="sourceLineNo">2613</span>    }<a name="line.2613"></a>
-<span class="sourceLineNo">2614</span>    return info.getInfoPort();<a name="line.2614"></a>
-<span class="sourceLineNo">2615</span>  }<a name="line.2615"></a>
-<span class="sourceLineNo">2616</span><a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>  @Override<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>  public String getRegionServerVersion(final ServerName sn) {<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>    if (info != null &amp;&amp; info.hasVersionInfo()) {<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span>      return info.getVersionInfo().getVersion();<a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>    }<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>    return "0.0.0"; //Lowest version to prevent move system region to unknown version RS.<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span>  }<a name="line.2624"></a>
-<span class="sourceLineNo">2625</span><a name="line.2625"></a>
-<span class="sourceLineNo">2626</span>  @Override<a name="line.2626"></a>
-<span class="sourceLineNo">2627</span>  public void checkIfShouldMoveSystemRegionAsync() {<a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>    assignmentManager.checkIfShouldMoveSystemRegionAsync();<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span>  }<a name="line.2629"></a>
-<span class="sourceLineNo">2630</span><a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>  /**<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span>   * @return array of coprocessor SimpleNames.<a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>   */<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span>  public String[] getMasterCoprocessors() {<a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>    Set&lt;String&gt; masterCoprocessors = getMasterCoprocessorHost().getCoprocessors();<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>    return masterCoprocessors.toArray(new String[masterCoprocessors.size()]);<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>  }<a name="line.2637"></a>
-<span class="sourceLineNo">2638</span><a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>  @Override<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span>  public void abort(String reason, Throwable cause) {<a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>    if (isAborted() || isStopped()) {<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>      return;<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>    }<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span>    if (cpHost != null) {<a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>      // HBASE-4014: dump a list of loaded coprocessors.<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>      LOG.error(HBaseMarkers.FATAL, "Master server abort: loaded coprocessors are: " +<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>          getLoadedCoprocessors());<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>    }<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>    String msg = "***** ABORTING master " + this + ": " + reason + " *****";<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span>    if (cause != null) {<a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>      LOG.error(HBaseMarkers.FATAL, msg, cause);<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span>    } else {<a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>      LOG.error(HBaseMarkers.FATAL, msg);<a name="line.2653"></a>
-<span class="sourceLineNo">2654</span>    }<a name="line.2654"></a>
-<span class="sourceLineNo">2655</span><a name="line.2655"></a>
-<span class="sourceLineNo">2656</span>    try {<a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>      stopMaster();<a name="line.2657"></a>
-<span class="sourceLineNo">2658</span>    } catch (IOException e) {<a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>      LOG.error("Exception occurred while stopping master", e);<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span>    }<a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>  }<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span><a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>  @Override<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>  public ZKWatcher getZooKeeper() {<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>    return zooKeeper;<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>  }<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span><a name="line.2667"></a>
-<span class="sourceLineNo">2668</span>  @Override<a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>    return cpHost;<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>  }<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span><a name="line.2672"></a>
-<span class="sourceLineNo">2673</span>  @Override<a name="line.2673"></a>
-<span class="sourceLineNo">2674</span>  public MasterQuotaManager getMasterQuotaManager() {<a name="line.2674"></a>
-<span class="sourceLineNo">2675</span>    return quotaManager;<a name="line.2675"></a>
-<span class="sourceLineNo">2676</span>  }<a name="line.2676"></a>
-<span class="sourceLineNo">2677</span><a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>  @Override<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>  public ProcedureExecutor&lt;MasterProcedureEnv&gt; getMasterProcedureExecutor() {<a name="line.2679"></a>
-<span class="sourceLineNo">2680</span>    return procedureExecutor;<a name="line.2680"></a>
-<span class="sourceLineNo">2681</span>  }<a name="line.2681"></a>
-<span class="sourceLineNo">2682</span><a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>  @Override<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span>  public ServerName getServerName() {<a name="line.2684"></a>
-<span class="sourceLineNo">2685</span>    return this.serverName;<a name="line.2685"></a>
-<span class="sourceLineNo">2686</span>  }<a name="line.2686"></a>
-<span class="sourceLineNo">2687</span><a name="line.2687"></a>
-<span class="sourceLineNo">2688</span>  @Override<a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>  public AssignmentManager getAssignmentManager() {<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>    return this.assignmentManager;<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>  }<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span><a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>  @Override<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>  public CatalogJanitor getCatalogJanitor() {<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span>    return this.catalogJanitorChore;<a name="line.2695"></a>
-<span class="sourceLineNo">2696</span>  }<a name="line.2696"></a>
-<span class="sourceLineNo">2697</span><a name="line.2697"></a>
-<span class="sourceLineNo">2698</span>  public MemoryBoundedLogMessageBuffer getRegionServerFatalLogBuffer() {<a name="line.2698"></a>
-<span class="sourceLineNo">2699</span>    return rsFatals;<a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>  }<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span><a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>  /**<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>   * Shutdown the cluster.<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span>   * Master runs a coordinated stop of all RegionServers and then itself.<a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>   */<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span>  public void shutdown() throws IOException {<a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>    if (cpHost != null) {<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>      cpHost.preShutdown();<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>    }<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>    // Tell the servermanager cluster shutdown has been called. This makes it so when Master is<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span>    // last running server, it'll stop itself. Next, we broadcast the cluster shutdown by setting<a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>    // the cluster status as down. RegionServers will notice this change in state and will start<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>    // shutting themselves down. When last has exited, Master can go down.<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>    if (this.serverManager != null) {<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span>      this.serverManager.shutdownCluster();<a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>    }<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span>    if (this.clusterStatusTracker != null) {<a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>      try {<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span>        this.clusterStatusTracker.setClusterDown();<a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>      } catch (KeeperException e) {<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>        LOG.error("ZooKeeper exception trying to set cluster as down in ZK", e);<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>      }<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span>    }<a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>    // Stop the procedure executor. Will stop any ongoing assign, unassign, server crash etc.,<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span>    // processing so we can go down.<a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>    if (this.procedureExecutor != null) {<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span>      this.procedureExecutor.stop();<a name="line.2727"></a>
-<span class="sourceLineNo">2728</span>    }<a name="line.2728"></a>
-<span class="sourceLineNo">2729</span>    // Shutdown our cluster connection. This will kill any hosted RPCs that might be going on;<a name="line.2729"></a>
-<span class="sourceLineNo">2730</span>    // this is what we want especially if the Master is in startup phase doing call outs to<a name="line.2730"></a>
-<span class="sourceLineNo">2731</span>    // hbase:meta, etc. when cluster is down. Without ths connection close, we'd have to wait on<a name="line.2731"></a>
-<span class="sourceLineNo">2732</span>    // the rpc to timeout.<a name="line.2732"></a>
-<span class="sourceLineNo">2733</span>    if (this.clusterConnection != null) {<a name="line.2733"></a>
-<span class="sourceLineNo">2734</span>      this.clusterConnection.close();<a name="line.2734"></a>
-<span class="sourceLineNo">2735</span>    }<a name="line.2735"></a>
-<span class="sourceLineNo">2736</span>  }<a name="line.2736"></a>
-<span class="sourceLineNo">2737</span><a name="line.2737"></a>
-<span class="sourceLineNo">2738</span>  public void stopMaster() throws IOException {<a name="line.2738"></a>
-<span class="sourceLineNo">2739</span>    if (cpHost != null) {<a name="line.2739"></a>
-<span class="sourceLineNo">2740</span>      cpHost.preStopMaster();<a name="line.2740"></a>
-<span class="sourceLineNo">2741</span>    }<a name="line.2741"></a>
-<span class="sourceLineNo">2742</span>    stop("Stopped by " + Thread.currentThread().getName());<a name="line.2742"></a>
-<span class="sourceLineNo">2743</span>  }<a name="line.2743"></a>
-<span class="sourceLineNo">2744</span><a name="line.2744"></a>
-<span class="sourceLineNo">2745</span>  @Override<a name="line.2745"></a>
-<span class="sourceLineNo">2746</span>  public void stop(String msg) {<a name="line.2746"></a>
-<span class="sourceLineNo">2747</span>    if (!isStopped()) {<a name="line.2747"></a>
-<span class="sourceLineNo">2748</span>      super.stop(msg);<a name="line.2748"></a>
-<span class="sourceLineNo">2749</span>      if (this.activeMasterManager != null) {<a name="line.2749"></a>
-<span class="sourceLineNo">2750</span>        this.activeMasterManager.stop();<a name="line.2750"></a>
-<span class="sourceLineNo">2751</span>      }<a name="line.2751"></a>
-<span class="sourceLineNo">2752</span>    }<a name="line.2752"></a>
-<span class="sourceLineNo">2753</span>  }<a name="line.2753"></a>
-<span class="sourceLineNo">2754</span><a name="line.2754"></a>
-<span class="sourceLineNo">2755</span>  void checkServiceStarted() throws ServerNotRunningYetException {<a name="line.2755"></a>
-<span class="sourceLineNo">2756</span>    if (!serviceStarted) {<a name="line.2756"></a>
-<span class="sourceLineNo">2757</span>      throw new ServerNotRunningYetException("Server is not running yet");<a name="line.2757"></a>
-<span class="sourceLineNo">2758</span>    }<a name="line.2758"></a>
-<span class="sourceLineNo">2759</span>  }<a name="line.2759"></a>
-<span class="sourceLineNo">2760</span><a name="line.2760"></a>
-<span class="sourceLineNo">2761</span>  public static class MasterStoppedException extends DoNotRetryIOException {<a name="line.2761"></a>
-<span class="sourceLineNo">2762</span>    MasterStoppedException() {<a name="line.2762"></a>
-<span class="sourceLineNo">2763</span>      super();<a name="line.2763"></a>
-<span class="sourceLineNo">2764</span>    }<a name="line.2764"></a>
-<span class="sourceLineNo">2765</span>  }<a name="line.2765"></a>
-<span class="sourceLineNo">2766</span><a name="line.2766"></a>
-<span class="sourceLineNo">2767</span>  void checkInitialized() throws PleaseHoldException, ServerNotRunningYetException,<a name="line.2767"></a>
-<span class="sourceLineNo">2768</span>      MasterNotRunningException, MasterStoppedException {<a name="line.2768"></a>
-<span class="sourceLineNo">2769</span>    checkServiceStarted();<a name="line.2769"></a>
-<span class="sourceLineNo">2770</span>    if (!isInitialized()) {<a name="line.2770"></a>
-<span class="sourceLineNo">2771</span>      throw new PleaseHoldException("Master is initializing");<a name="line.2771"></a>
-<span class="sourceLineNo">2772</span>    }<a name="line.2772"></a>
-<span class="sourceLineNo">2773</span>    if (isStopped()) {<a name="line.2773"></a>
-<span class="sourceLineNo">2774</span>      throw new MasterStoppedException();<a name="line.2774"></a>
+<span class="sourceLineNo">2378</span>        LOG.info(getClientIdAuditPrefix() + " modify " + tableName);<a name="line.2378"></a>
+<span class="sourceLineNo">2379</span><a name="line.2379"></a>
+<span class="sourceLineNo">2380</span>        // Execute the operation synchronously - wait for the operation completes before continuing.<a name="line.2380"></a>
+<span class="sourceLineNo">2381</span>        //<a name="line.2381"></a>
+<span class="sourceLineNo">2382</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2382"></a>
+<span class="sourceLineNo">2383</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2383"></a>
+<span class="sourceLineNo">2384</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2384"></a>
+<span class="sourceLineNo">2385</span>        submitProcedure(<a name="line.2385"></a>
+<span class="sourceLineNo">2386</span>          new ModifyTableProcedure(procedureExecutor.getEnvironment(), newDescriptor, latch));<a name="line.2386"></a>
+<span class="sourceLineNo">2387</span>        latch.await();<a name="line.2387"></a>
+<span class="sourceLineNo">2388</span><a name="line.2388"></a>
+<span class="sourceLineNo">2389</span>        getMaster().getMasterCoprocessorHost()<a name="line.2389"></a>
+<span class="sourceLineNo">2390</span>          .postModifyTable(tableName, oldDescriptor, newDescriptor);<a name="line.2390"></a>
+<span class="sourceLineNo">2391</span>      }<a name="line.2391"></a>
+<span class="sourceLineNo">2392</span><a name="line.2392"></a>
+<span class="sourceLineNo">2393</span>      @Override<a name="line.2393"></a>
+<span class="sourceLineNo">2394</span>      protected String getDescription() {<a name="line.2394"></a>
+<span class="sourceLineNo">2395</span>        return "ModifyTableProcedure";<a name="line.2395"></a>
+<span class="sourceLineNo">2396</span>      }<a name="line.2396"></a>
+<span class="sourceLineNo">2397</span>    });<a name="line.2397"></a>
+<span class="sourceLineNo">2398</span>  }<a name="line.2398"></a>
+<span class="sourceLineNo">2399</span><a name="line.2399"></a>
+<span class="sourceLineNo">2400</span>  public long restoreSnapshot(final SnapshotDescription snapshotDesc,<a name="line.2400"></a>
+<span class="sourceLineNo">2401</span>      final long nonceGroup, final long nonce, final boolean restoreAcl) throws IOException {<a name="line.2401"></a>
+<span class="sourceLineNo">2402</span>    checkInitialized();<a name="line.2402"></a>
+<span class="sourceLineNo">2403</span>    getSnapshotManager().checkSnapshotSupport();<a name="line.2403"></a>
+<span class="sourceLineNo">2404</span><a name="line.2404"></a>
+<span class="sourceLineNo">2405</span>    // Ensure namespace exists. Will throw exception if non-known NS.<a name="line.2405"></a>
+<span class="sourceLineNo">2406</span>    final TableName dstTable = TableName.valueOf(snapshotDesc.getTable());<a name="line.2406"></a>
+<span class="sourceLineNo">2407</span>    getClusterSchema().getNamespace(dstTable.getNamespaceAsString());<a name="line.2407"></a>
+<span class="sourceLineNo">2408</span><a name="line.2408"></a>
+<span class="sourceLineNo">2409</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2409"></a>
+<span class="sourceLineNo">2410</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2410"></a>
+<span class="sourceLineNo">2411</span>      @Override<a name="line.2411"></a>
+<span class="sourceLineNo">2412</span>      protected void run() throws IOException {<a name="line.2412"></a>
+<span class="sourceLineNo">2413</span>          setProcId(<a name="line.2413"></a>
+<span class="sourceLineNo">2414</span>            getSnapshotManager().restoreOrCloneSnapshot(snapshotDesc, getNonceKey(), restoreAcl));<a name="line.2414"></a>
+<span class="sourceLineNo">2415</span>      }<a name="line.2415"></a>
+<span class="sourceLineNo">2416</span><a name="line.2416"></a>
+<span class="sourceLineNo">2417</span>      @Override<a name="line.2417"></a>
+<span class="sourceLineNo">2418</span>      protected String getDescription() {<a name="line.2418"></a>
+<span class="sourceLineNo">2419</span>        return "RestoreSnapshotProcedure";<a name="line.2419"></a>
+<span class="sourceLineNo">2420</span>      }<a name="line.2420"></a>
+<span class="sourceLineNo">2421</span>    });<a name="line.2421"></a>
+<span class="sourceLineNo">2422</span>  }<a name="line.2422"></a>
+<span class="sourceLineNo">2423</span><a name="line.2423"></a>
+<span class="sourceLineNo">2424</span>  private void checkTableExists(final TableName tableName)<a name="line.2424"></a>
+<span class="sourceLineNo">2425</span>      throws IOException, TableNotFoundException {<a name="line.2425"></a>
+<span class="sourceLineNo">2426</span>    if (!MetaTableAccessor.tableExists(getConnection(), tableName)) {<a name="line.2426"></a>
+<span class="sourceLineNo">2427</span>      throw new TableNotFoundException(tableName);<a name="line.2427"></a>
+<span class="sourceLineNo">2428</span>    }<a name="line.2428"></a>
+<span class="sourceLineNo">2429</span>  }<a name="line.2429"></a>
+<span class="sourceLineNo">2430</span><a name="line.2430"></a>
+<span class="sourceLineNo">2431</span>  @Override<a name="line.2431"></a>
+<span class="sourceLineNo">2432</span>  public void checkTableModifiable(final TableName tableName)<a name="line.2432"></a>
+<span class="sourceLineNo">2433</span>      throws IOException, TableNotFoundException, TableNotDisabledException {<a name="line.2433"></a>
+<span class="sourceLineNo">2434</span>    if (isCatalogTable(tableName)) {<a name="line.2434"></a>
+<span class="sourceLineNo">2435</span>      throw new IOException("Can't modify catalog tables");<a name="line.2435"></a>
+<span class="sourceLineNo">2436</span>    }<a name="line.2436"></a>
+<span class="sourceLineNo">2437</span>    checkTableExists(tableName);<a name="line.2437"></a>
+<span class="sourceLineNo">2438</span>    TableState ts = getTableStateManager().getTableState(tableName);<a name="line.2438"></a>
+<span class="sourceLineNo">2439</span>    if (!ts.isDisabled()) {<a name="line.2439"></a>
+<span class="sourceLineNo">2440</span>      throw new TableNotDisabledException("Not DISABLED; " + ts);<a name="line.2440"></a>
+<span class="sourceLineNo">2441</span>    }<a name="line.2441"></a>
+<span class="sourceLineNo">2442</span>  }<a name="line.2442"></a>
+<span class="sourceLineNo">2443</span><a name="line.2443"></a>
+<span class="sourceLineNo">2444</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor() throws InterruptedIOException {<a name="line.2444"></a>
+<span class="sourceLineNo">2445</span>    return getClusterMetricsWithoutCoprocessor(EnumSet.allOf(Option.class));<a name="line.2445"></a>
+<span class="sourceLineNo">2446</span>  }<a name="line.2446"></a>
+<span class="sourceLineNo">2447</span><a name="line.2447"></a>
+<span class="sourceLineNo">2448</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor(EnumSet&lt;Option&gt; options)<a name="line.2448"></a>
+<span class="sourceLineNo">2449</span>      throws InterruptedIOException {<a name="line.2449"></a>
+<span class="sourceLineNo">2450</span>    ClusterMetricsBuilder builder = ClusterMetricsBuilder.newBuilder();<a name="line.2450"></a>
+<span class="sourceLineNo">2451</span>    // given that hbase1 can't submit the request with Option,<a name="line.2451"></a>
+<span class="sourceLineNo">2452</span>    // we return all information to client if the list of Option is empty.<a name="line.2452"></a>
+<span class="sourceLineNo">2453</span>    if (options.isEmpty()) {<a name="line.2453"></a>
+<span class="sourceLineNo">2454</span>      options = EnumSet.allOf(Option.class);<a name="line.2454"></a>
+<span class="sourceLineNo">2455</span>    }<a name="line.2455"></a>
+<span class="sourceLineNo">2456</span><a name="line.2456"></a>
+<span class="sourceLineNo">2457</span>    for (Option opt : options) {<a name="line.2457"></a>
+<span class="sourceLineNo">2458</span>      switch (opt) {<a name="line.2458"></a>
+<span class="sourceLineNo">2459</span>        case HBASE_VERSION: builder.setHBaseVersion(VersionInfo.getVersion()); break;<a name="line.2459"></a>
+<span class="sourceLineNo">2460</span>        case CLUSTER_ID: builder.setClusterId(getClusterId()); break;<a name="line.2460"></a>
+<span class="sourceLineNo">2461</span>        case MASTER: builder.setMasterName(getServerName()); break;<a name="line.2461"></a>
+<span class="sourceLineNo">2462</span>        case BACKUP_MASTERS: builder.setBackerMasterNames(getBackupMasters()); break;<a name="line.2462"></a>
+<span class="sourceLineNo">2463</span>        case LIVE_SERVERS: {<a name="line.2463"></a>
+<span class="sourceLineNo">2464</span>          if (serverManager != null) {<a name="line.2464"></a>
+<span class="sourceLineNo">2465</span>            builder.setLiveServerMetrics(serverManager.getOnlineServers().entrySet().stream()<a name="line.2465"></a>
+<span class="sourceLineNo">2466</span>              .collect(Collectors.toMap(e -&gt; e.getKey(), e -&gt; e.getValue())));<a name="line.2466"></a>
+<span class="sourceLineNo">2467</span>          }<a name="line.2467"></a>
+<span class="sourceLineNo">2468</span>          break;<a name="line.2468"></a>
+<span class="sourceLineNo">2469</span>        }<a name="line.2469"></a>
+<span class="sourceLineNo">2470</span>        case DEAD_SERVERS: {<a name="line.2470"></a>
+<span class="sourceLineNo">2471</span>          if (serverManager != null) {<a name="line.2471"></a>
+<span class="sourceLineNo">2472</span>            builder.setDeadServerNames(new ArrayList&lt;&gt;(<a name="line.2472"></a>
+<span class="sourceLineNo">2473</span>              serverManager.getDeadServers().copyServerNames()));<a name="line.2473"></a>
+<span class="sourceLineNo">2474</span>          }<a name="line.2474"></a>
+<span class="sourceLineNo">2475</span>          break;<a name="line.2475"></a>
+<span class="sourceLineNo">2476</span>        }<a name="line.2476"></a>
+<span class="sourceLineNo">2477</span>        case MASTER_COPROCESSORS: {<a name="line.2477"></a>
+<span class="sourceLineNo">2478</span>          if (cpHost != null) {<a name="line.2478"></a>
+<span class="sourceLineNo">2479</span>            builder.setMasterCoprocessorNames(Arrays.asList(getMasterCoprocessors()));<a name="line.2479"></a>
+<span class="sourceLineNo">2480</span>          }<a name="line.2480"></a>
+<span class="sourceLineNo">2481</span>          break;<a name="line.2481"></a>
+<span class="sourceLineNo">2482</span>        }<a name="line.2482"></a>
+<span class="sourceLineNo">2483</span>        case REGIONS_IN_TRANSITION: {<a name="line.2483"></a>
+<span class="sourceLineNo">2484</span>          if (assignmentManager != null) {<a name="line.2484"></a>
+<span class="sourceLineNo">2485</span>            builder.setRegionsInTransition(assignmentManager.getRegionStates()<a name="line.2485"></a>
+<span class="sourceLineNo">2486</span>                .getRegionsStateInTransition());<a name="line.2486"></a>
+<span class="sourceLineNo">2487</span>          }<a name="line.2487"></a>
+<span class="sourceLineNo">2488</span>          break;<a name="line.2488"></a>
+<span class="sourceLineNo">2489</span>        }<a name="line.2489"></a>
+<span class="sourceLineNo">2490</span>        case BALANCER_ON: {<a name="line.2490"></a>
+<span class="sourceLineNo">2491</span>          if (loadBalancerTracker != null) {<a name="line.2491"></a>
+<span class="sourceLineNo">2492</span>            builder.setBalancerOn(loadBalancerTracker.isBalancerOn());<a name="line.2492"></a>
+<span class="sourceLineNo">2493</span>          }<a name="line.2493"></a>
+<span class="sourceLineNo">2494</span>          break;<a name="line.2494"></a>
+<span class="sourceLineNo">2495</span>        }<a name="line.2495"></a>
+<span class="sourceLineNo">2496</span>        case MASTER_INFO_PORT: {<a name="line.2496"></a>
+<span class="sourceLineNo">2497</span>          if (infoServer != null) {<a name="line.2497"></a>
+<span class="sourceLineNo">2498</span>            builder.setMasterInfoPort(infoServer.getPort());<a name="line.2498"></a>
+<span class="sourceLineNo">2499</span>          }<a name="line.2499"></a>
+<span class="sourceLineNo">2500</span>          break;<a name="line.2500"></a>
+<span class="sourceLineNo">2501</span>        }<a name="line.2501"></a>
+<span class="sourceLineNo">2502</span>      }<a name="line.2502"></a>
+<span class="sourceLineNo">2503</span>    }<a name="line.2503"></a>
+<span class="sourceLineNo">2504</span>    return builder.build();<a name="line.2504"></a>
+<span class="sourceLineNo">2505</span>  }<a name="line.2505"></a>
+<span class="sourceLineNo">2506</span><a name="line.2506"></a>
+<span class="sourceLineNo">2507</span>  /**<a name="line.2507"></a>
+<span class="sourceLineNo">2508</span>   * @return cluster status<a name="line.2508"></a>
+<span class="sourceLineNo">2509</span>   */<a name="line.2509"></a>
+<span class="sourceLineNo">2510</span>  public ClusterMetrics getClusterMetrics() throws IOException {<a name="line.2510"></a>
+<span class="sourceLineNo">2511</span>    return getClusterMetrics(EnumSet.allOf(Option.class));<a name="line.2511"></a>
+<span class="sourceLineNo">2512</span>  }<a name="line.2512"></a>
+<span class="sourceLineNo">2513</span><a name="line.2513"></a>
+<span class="sourceLineNo">2514</span>  public ClusterMetrics getClusterMetrics(EnumSet&lt;Option&gt; options) throws IOException {<a name="line.2514"></a>
+<span class="sourceLineNo">2515</span>    if (cpHost != null) {<a name="line.2515"></a>
+<span class="sourceLineNo">2516</span>      cpHost.preGetClusterMetrics();<a name="line.2516"></a>
+<span class="sourceLineNo">2517</span>    }<a name="line.2517"></a>
+<span class="sourceLineNo">2518</span>    ClusterMetrics status = getClusterMetricsWithoutCoprocessor(options);<a name="line.2518"></a>
+<span class="sourceLineNo">2519</span>    if (cpHost != null) {<a name="line.2519"></a>
+<span class="sourceLineNo">2520</span>      cpHost.postGetClusterMetrics(status);<a name="line.2520"></a>
+<span class="sourceLineNo">2521</span>    }<a name="line.2521"></a>
+<span class="sourceLineNo">2522</span>    return status;<a name="line.2522"></a>
+<span class="sourceLineNo">2523</span>  }<a name="line.2523"></a>
+<span class="sourceLineNo">2524</span><a name="line.2524"></a>
+<span class="sourceLineNo">2525</span>  private List&lt;ServerName&gt; getBackupMasters() throws InterruptedIOException {<a name="line.2525"></a>
+<span class="sourceLineNo">2526</span>    // Build Set of backup masters from ZK nodes<a name="line.2526"></a>
+<span class="sourceLineNo">2527</span>    List&lt;String&gt; backupMasterStrings;<a name="line.2527"></a>
+<span class="sourceLineNo">2528</span>    try {<a name="line.2528"></a>
+<span class="sourceLineNo">2529</span>      backupMasterStrings = ZKUtil.listChildrenNoWatch(this.zooKeeper,<a name="line.2529"></a>
+<span class="sourceLineNo">2530</span>        this.zooKeeper.znodePaths.backupMasterAddressesZNode);<a name="line.2530"></a>
+<span class="sourceLineNo">2531</span>    } catch (KeeperException e) {<a name="line.2531"></a>
+<span class="sourceLineNo">2532</span>      LOG.warn(this.zooKeeper.prefix("Unable to list backup servers"), e);<a name="line.2532"></a>
+<span class="sourceLineNo">2533</span>      backupMasterStrings = null;<a name="line.2533"></a>
+<span class="sourceLineNo">2534</span>    }<a name="line.2534"></a>
+<span class="sourceLineNo">2535</span><a name="line.2535"></a>
+<span class="sourceLineNo">2536</span>    List&lt;ServerName&gt; backupMasters = Collections.emptyList();<a name="line.2536"></a>
+<span class="sourceLineNo">2537</span>    if (backupMasterStrings != null &amp;&amp; !backupMasterStrings.isEmpty()) {<a name="line.2537"></a>
+<span class="sourceLineNo">2538</span>      backupMasters = new ArrayList&lt;&gt;(backupMasterStrings.size());<a name="line.2538"></a>
+<span class="sourceLineNo">2539</span>      for (String s: backupMasterStrings) {<a name="line.2539"></a>
+<span class="sourceLineNo">2540</span>        try {<a name="line.2540"></a>
+<span class="sourceLineNo">2541</span>          byte [] bytes;<a name="line.2541"></a>
+<span class="sourceLineNo">2542</span>          try {<a name="line.2542"></a>
+<span class="sourceLineNo">2543</span>            bytes = ZKUtil.getData(this.zooKeeper, ZNodePaths.joinZNode(<a name="line.2543"></a>
+<span class="sourceLineNo">2544</span>                this.zooKeeper.znodePaths.backupMasterAddressesZNode, s));<a name="line.2544"></a>
+<span class="sourceLineNo">2545</span>          } catch (InterruptedException e) {<a name="line.2545"></a>
+<span class="sourceLineNo">2546</span>            throw new InterruptedIOException();<a name="line.2546"></a>
+<span class="sourceLineNo">2547</span>          }<a name="line.2547"></a>
+<span class="sourceLineNo">2548</span>          if (bytes != null) {<a name="line.2548"></a>
+<span class="sourceLineNo">2549</span>            ServerName sn;<a name="line.2549"></a>
+<span class="sourceLineNo">2550</span>            try {<a name="line.2550"></a>
+<span class="sourceLineNo">2551</span>              sn = ProtobufUtil.parseServerNameFrom(bytes);<a name="line.2551"></a>
+<span class="sourceLineNo">2552</span>            } catch (DeserializationException e) {<a name="line.2552"></a>
+<span class="sourceLineNo">2553</span>              LOG.warn("Failed parse, skipping registering backup server", e);<a name="line.2553"></a>
+<span class="sourceLineNo">2554</span>              continue;<a name="line.2554"></a>
+<span class="sourceLineNo">2555</span>            }<a name="line.2555"></a>
+<span class="sourceLineNo">2556</span>            backupMasters.add(sn);<a name="line.2556"></a>
+<span class="sourceLineNo">2557</span>          }<a name="line.2557"></a>
+<span class="sourceLineNo">2558</span>        } catch (KeeperException e) {<a name="line.2558"></a>
+<span class="sourceLineNo">2559</span>          LOG.warn(this.zooKeeper.prefix("Unable to get information about " +<a name="line.2559"></a>
+<span class="sourceLineNo">2560</span>                   "backup servers"), e);<a name="line.2560"></a>
+<span class="sourceLineNo">2561</span>        }<a name="line.2561"></a>
+<span class="sourceLineNo">2562</span>      }<a name="line.2562"></a>
+<span class="sourceLineNo">2563</span>      Collections.sort(backupMasters, new Comparator&lt;ServerName&gt;() {<a name="line.2563"></a>
+<span class="sourceLineNo">2564</span>        @Override<a name="line.2564"></a>
+<span class="sourceLineNo">2565</span>        public int compare(ServerName s1, ServerName s2) {<a name="line.2565"></a>
+<span class="sourceLineNo">2566</span>          return s1.getServerName().compareTo(s2.getServerName());<a name="line.2566"></a>
+<span class="sourceLineNo">2567</span>        }});<a name="line.2567"></a>
+<span class="sourceLineNo">2568</span>    }<a name="line.2568"></a>
+<span class="sourceLineNo">2569</span>    return backupMasters;<a name="line.2569"></a>
+<span class="sourceLineNo">2570</span>  }<a name="line.2570"></a>
+<span class="sourceLineNo">2571</span><a name="line.2571"></a>
+<span class="sourceLineNo">2572</span>  /**<a name="line.2572"></a>
+<span class="sourceLineNo">2573</span>   * The set of loaded coprocessors is stored in a static set. Since it's<a name="line.2573"></a>
+<span class="sourceLineNo">2574</span>   * statically allocated, it does not require that HMaster's cpHost be<a name="line.2574"></a>
+<span class="sourceLineNo">2575</span>   * initialized prior to accessing it.<a name="line.2575"></a>
+<span class="sourceLineNo">2576</span>   * @return a String representation of the set of names of the loaded coprocessors.<a name="line.2576"></a>
+<span class="sourceLineNo">2577</span>   */<a name="line.2577"></a>
+<span class="sourceLineNo">2578</span>  public static String getLoadedCoprocessors() {<a name="line.2578"></a>
+<span class="sourceLineNo">2579</span>    return CoprocessorHost.getLoadedCoprocessors().toString();<a name="line.2579"></a>
+<span class="sourceLineNo">2580</span>  }<a name="line.2580"></a>
+<span class="sourceLineNo">2581</span><a name="line.2581"></a>
+<span class="sourceLineNo">2582</span>  /**<a name="line.2582"></a>
+<span class="sourceLineNo">2583</span>   * @return timestamp in millis when HMaster was started.<a name="line.2583"></a>
+<span class="sourceLineNo">2584</span>   */<a name="line.2584"></a>
+<span class="sourceLineNo">2585</span>  public long getMasterStartTime() {<a name="line.2585"></a>
+<span class="sourceLineNo">2586</span>    return startcode;<a name="line.2586"></a>
+<span class="sourceLineNo">2587</span>  }<a name="line.2587"></a>
+<span class="sourceLineNo">2588</span><a name="line.2588"></a>
+<span class="sourceLineNo">2589</span>  /**<a name="line.2589"></a>
+<span class="sourceLineNo">2590</span>   * @return timestamp in millis when HMaster became the active master.<a name="line.2590"></a>
+<span class="sourceLineNo">2591</span>   */<a name="line.2591"></a>
+<span class="sourceLineNo">2592</span>  public long getMasterActiveTime() {<a name="line.2592"></a>
+<span class="sourceLineNo">2593</span>    return masterActiveTime;<a name="line.2593"></a>
+<span class="sourceLineNo">2594</span>  }<a name="line.2594"></a>
+<span class="sourceLineNo">2595</span><a name="line.2595"></a>
+<span class="sourceLineNo">2596</span>  /**<a name="line.2596"></a>
+<span class="sourceLineNo">2597</span>   * @return timestamp in millis when HMaster finished becoming the active master<a name="line.2597"></a>
+<span class="sourceLineNo">2598</span>   */<a name="line.2598"></a>
+<span class="sourceLineNo">2599</span>  public long getMasterFinishedInitializationTime() {<a name="line.2599"></a>
+<span class="sourceLineNo">2600</span>    return masterFinishedInitializationTime;<a name="line.2600"></a>
+<span class="sourceLineNo">2601</span>  }<a name="line.2601"></a>
+<span class="sourceLineNo">2602</span><a name="line.2602"></a>
+<span class="sourceLineNo">2603</span>  public int getNumWALFiles() {<a name="line.2603"></a>
+<span class="sourceLineNo">2604</span>    return procedureStore != null ? procedureStore.getActiveLogs().size() : 0;<a name="line.2604"></a>
+<span class="sourceLineNo">2605</span>  }<a name="line.2605"></a>
+<span class="sourceLineNo">2606</span><a name="line.2606"></a>
+<span class="sourceLineNo">2607</span>  public WALProcedureStore getWalProcedureStore() {<a name="line.2607"></a>
+<span class="sourceLineNo">2608</span>    return procedureStore;<a name="line.2608"></a>
+<span class="sourceLineNo">2609</span>  }<a name="line.2609"></a>
+<span class="sourceLineNo">2610</span><a name="line.2610"></a>
+<span class="sourceLineNo">2611</span>  public int getRegionServerInfoPort(final ServerName sn) {<a name="line.2611"></a>
+<span class="sourceLineNo">2612</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2612"></a>
+<span class="sourceLineNo">2613</span>    if (info == null || info.getInfoPort() == 0) {<a name="line.2613"></a>
+<span class="sourceLineNo">2614</span>      return conf.getInt(HConstants.REGIONSERVER_INFO_PORT,<a name="line.2614"></a>
+<span class="sourceLineNo">2615</span>        HConstants.DEFAULT_REGIONSERVER_INFOPORT);<a name="line.2615"></a>
+<span class="sourceLineNo">2616</span>    }<a name="line.2616"></a>
+<span class="sourceLineNo">2617</span>    return info.getInfoPort();<a name="line.2617"></a>
+<span class="sourceLineNo">2618</span>  }<a name="line.2618"></a>
+<span class="sourceLineNo">2619</span><a name="line.2619"></a>
+<span class="sourceLineNo">2620</span>  @Override<a name="line.2620"></a>
+<span class="sourceLineNo">2621</span>  public String getRegionServerVersion(final ServerName sn) {<a name="line.2621"></a>
+<span class="sourceLineNo">2622</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2622"></a>
+<span class="sourceLineNo">2623</span>    if (info != null &amp;&amp; info.hasVersionInfo()) {<a name="line.2623"></a>
+<span class="sourceLineNo">2624</span>      return info.getVersionInfo().getVersion();<a name="line.2624"></a>
+<span class="sourceLineNo">2625</span>    }<a name="line.2625"></a>
+<span class="sourceLineNo">2626</span>    return "0.0.0"; //Lowest version to prevent move system region to unknown version RS.<a name="line.2626"></a>
+<span class="sourceLineNo">2627</span>  }<a name="line.2627"></a>
+<span class="sourceLineNo">2628</span><a name="line.2628"></a>
+<span class="sourceLineNo">2629</span>  @Override<a name="line.2629"></a>
+<span class="sourceLineNo">2630</span>  public void checkIfShouldMoveSystemRegionAsync() {<a name="line.2630"></a>
+<span class="sourceLineNo">2631</span>    assignmentManager.checkIfShouldMoveSystemRegionAsync();<a name="line.2631"></a>
+<span class="sourceLineNo">2632</span>  }<a name="line.2632"></a>
+<span class="sourceLineNo">2633</span><a name="line.2633"></a>
+<span class="sourceLineNo">2634</span>  /**<a name="line.2634"></a>
+<span class="sourceLineNo">2635</span>   * @return array of coprocessor SimpleNames.<a name="line.2635"></a>
+<span class="sourceLineNo">2636</span>   */<a name="line.2636"></a>
+<span class="sourceLineNo">2637</span>  public String[] getMasterCoprocessors() {<a name="line.2637"></a>
+<span class="sourceLineNo">2638</span>    Set&lt;String&gt; masterCoprocessors = getMasterCoprocessorHost().getCoprocessors();<a name="line.2638"></a>
+<span class="sourceLineNo">2639</span>    return masterCoprocessors.toArray(new String[masterCoprocessors.size()]);<a name="line.2639"></a>
+<span class="sourceLineNo">2640</span>  }<a name="line.2640"></a>
+<span class="sourceLineNo">2641</span><a name="line.2641"></a>
+<span class="sourceLineNo">2642</span>  @Override<a name="line.2642"></a>
+<span class="sourceLineNo">2643</span>  public void abort(String reason, Throwable cause) {<a name="line.2643"></a>
+<span class="sourceLineNo">2644</span>    if (isAborted() || isStopped()) {<a name="line.2644"></a>
+<span class="sourceLineNo">2645</span>      return;<a name="line.2645"></a>
+<span class="sourceLineNo">2646</span>    }<a name="line.2646"></a>
+<span class="sourceLineNo">2647</span>    if (cpHost != null) {<a name="line.2647"></a>
+<span class="sourceLineNo">2648</span>      // HBASE-4014: dump a list of loaded coprocessors.<a name="line.2648"></a>
+<span class="sourceLineNo">2649</span>      LOG.error(HBaseMarkers.FATAL, "Master server abort: loaded coprocessors are: " +<a name="line.2649"></a>
+<span class="sourceLineNo">2650</span>          getLoadedCoprocessors());<a name="line.2650"></a>
+<span class="sourceLineNo">2651</span>    }<a name="line.2651"></a>
+<span class="sourceLineNo">2652</span>    String msg = "***** ABORTING master " + this + ": " + reason + " *****";<a name="line.2652"></a>
+<span class="sourceLineNo">2653</span>    if (cause != null) {<a name="line.2653"></a>
+<span class="sourceLineNo">2654</span>      LOG.error(HBaseMarkers.FATAL, msg, cause);<a name="line.2654"></a>
+<span class="sourceLineNo">2655</span>    } else {<a name="line.2655"></a>
+<span class="sourceLineNo">2656</span>      LOG.error(HBaseMarkers.FATAL, msg);<a name="line.2656"></a>
+<span class="sourceLineNo">2657</span>    }<a name="line.2657"></a>
+<span class="sourceLineNo">2658</span><a name="line.2658"></a>
+<span class="sourceLineNo">2659</span>    try {<a name="line.2659"></a>
+<span class="sourceLineNo">2660</span>      stopMaster();<a name="line.2660"></a>
+<span class="sourceLineNo">2661</span>    } catch (IOException e) {<a name="line.2661"></a>
+<span class="sourceLineNo">2662</span>      LOG.error("Exception occurred while stopping master", e);<a name="line.2662"></a>
+<span class="sourceLineNo">2663</span>    }<a name="line.2663"></a>
+<span class="sourceLineNo">2664</span>  }<a name="line.2664"></a>
+<span class="sourceLineNo">2665</span><a name="line.2665"></a>
+<span class="sourceLineNo">2666</span>  @Override<a name="line.2666"></a>
+<span class="sourceLineNo">2667</span>  public ZKWatcher getZooKeeper() {<a name="line.2667"></a>
+<span class="sourceLineNo">2668</span>    return zooKeeper;<a name="line.2668"></a>
+<span class="sourceLineNo">2669</span>  }<a name="line.2669"></a>
+<span class="sourceLineNo">2670</span><a name="line.2670"></a>
+<span class="sourceLineNo">2671</span>  @Override<a name="line.2671"></a>
+<span class="sourceLineNo">2672</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.2672"></a>
+<span class="sourceLineNo">2673</span>    return cpHost;<a name="line.2673"></a>
+<span class="sourceLineNo">2674</span>  }<a name="line.2674"></a>
+<span class="sourceLineNo">2675</span><a name="line.2675"></a>
+<span class="sourceLineNo">2676</span>  @Override<a name="line.2676"></a>
+<span class="sourceLineNo">2677</span>  public MasterQuotaManager getMasterQuotaManager() {<a name="line.2677"></a>
+<span class="sourceLineNo">2678</span>    return quotaManager;<a name="line.2678"></a>
+<span class="sourceLineNo">2679</span>  }<a name="line.2679"></a>
+<span class="sourceLineNo">2680</span><a name="line.2680"></a>
+<span class="sourceLineNo">2681</span>  @Override<a name="line.2681"></a>
+<span class="sourceLineNo">2682</span>  public ProcedureExecutor&lt;MasterProcedureEnv&gt; getMasterProcedureExecutor() {<a name="line.2682"></a>
+<span class="sourceLineNo">2683</span>    return procedureExecutor;<a name="line.2683"></a>
+<span class="sourceLineNo">2684</span>  }<a name="line.2684"></a>
+<span class="sourceLineNo">2685</span><a name="line.2685"></a>
+<span class="sourceLineNo">2686</span>  @Override<a name="line.2686"></a>
+<span class="sourceLineNo">2687</span>  public ServerName getServerName() {<a name="line.2687"></a>
+<span class="sourceLineNo">2688</span>    return this.serverName;<a name="line.2688"></a>
+<span class="sourceLineNo">2689</span>  }<a name="line.2689"></a>
+<span class="sourceLineNo">2690</span><a name="line.2690"></a>
+<span class="sourceLineNo">2691</span>  @Override<a name="line.2691"></a>
+<span class="sourceLineNo">2692</span>  public AssignmentManager getAssignmentManager() {<a name="line.2692"></a>
+<span class="sourceLineNo">2693</span>    return this.assignmentManager;<a name="line.2693"></a>
+<span class="sourceLineNo">2694</span>  }<a name="line.2694"></a>
+<span class="sourceLineNo">2695</span><a name="line.2695"></a>
+<span class="sourceLineNo">2696</span>  @Override<a name="line.2696"></a>
+<span class="sourceLineNo">2697</span>  public CatalogJanitor getCatalogJanitor() {<a name="line.2697"></a>
+<span class="sourceLineNo">2698</span>    return this.catalogJanitorChore;<a name="line.2698"></a>
+<span class="sourceLineNo">2699</span>  }<a name="line.2699"></a>
+<span class="sourceLineNo">2700</span><a name="line.2700"></a>
+<span class="sourceLineNo">2701</span>  public MemoryBoundedLogMessageBuffer getRegionServerFatalLogBuffer() {<a name="line.2701"></a>
+<span class="sourceLineNo">2702</span>    return rsFatals;<a name="line.2702"></a>
+<span class="sourceLineNo">2703</span>  }<a name="line.2703"></a>
+<span class="sourceLineNo">2704</span><a name="line.2704"></a>
+<span class="sourceLineNo">2705</span>  /**<a name="line.2705"></a>
+<span class="sourceLineNo">2706</span>   * Shutdown the cluster.<a name="line.2706"></a>
+<span class="sourceLineNo">2707</span>   * Master runs a coordinated stop of all RegionServers and then itself.<a name="line.2707"></a>
+<span class="sourceLineNo">2708</span>   */<a name="line.2708"></a>
+<span class="sourceLineNo">2709</span>  public void shutdown() throws IOException {<a name="line.2709"></a>
+<span class="sourceLineNo">2710</span>    if (cpHost != null) {<a name="line.2710"></a>
+<span class="sourceLineNo">2711</span>      cpHost.preShutdown();<a name="line.2711"></a>
+<span class="sourceLineNo">2712</span>    }<a name="line.2712"></a>
+<span class="sourceLineNo">2713</span>    // Tell the servermanager cluster shutdown has been called. This makes it so when Master is<a name="line.2713"></a>
+<span class="sourceLineNo">2714</span>    // last running server, it'll stop itself. Next, we broadcast the cluster shutdown by setting<a name="line.2714"></a>
+<span class="sourceLineNo">2715</span>    // the cluster status as down. RegionServers will notice this change in state and will start<a name="line.2715"></a>
+<span class="sourceLineNo">2716</span>    // shutting themselves down. When last has exited, Master can go down.<a name="line.2716"></a>
+<span class="sourceLineNo">2717</span>    if (this.serverManager != null) {<a name="line.2717"></a>
+<span class="sourceLineNo">2718</span>      this.serverManager.shutdownCluster();<a name="line.2718"></a>
+<span class="sourceLineNo">2719</span>    }<a name="line.2719"></a>
+<span class="sourceLineNo">2720</span>    if (this.clusterStatusTracker != null) {<a name="line.2720"></a>
+<span class="sourceLineNo">2721</span>      try {<a name="line.2721"></a>
+<span class="sourceLineNo">2722</span>        this.clusterStatusTracker.setClusterDown();<a name="line.2722"></a>
+<span class="sourceLineNo">2723</span>      } catch (KeeperException e) {<a name="line.2723"></a>
+<span class="sourceLineNo">2724</span>        LOG.error("ZooKeeper exception trying to set cluster as down in ZK", e);<a name="line.2724"></a>
+<span class="sourceLineNo">2725</span>      }<a name="line.2725"></a>
+<span class="sourceLineNo">2726</span>    }<a name="line.2726"></a>
+<span class="sourceLineNo">2727</span>    // Stop the procedure executor. Will stop any ongoing assign, unassign, server crash etc.,<a name="line.2727"></a>
+<span class="sourceLineNo">2728</span>    // processing so we can go down.<a name="line.2728"></a>
+<span class="sourceLineNo">2729</span>    if (this.procedureExecutor != null) {<a name="line.2729"></a>
+<span class="sourceLineNo">2730</span>      this.procedureExecutor.stop();<a name="line.2730"></a>
+<span class="sourceLineNo">2731</span>    }<a name="line.2731"></a>
+<span class="sourceLineNo">2732</span>    // Shutdown our cluster connection. This will kill any hosted RPCs that might be going on;<a name="line.2732"></a>
+<span class="sourceLineNo">2733</span>    // this is what we want especially if the Master is in startup phase doing call outs to<a name="line.2733"></a>
+<span class="sourceLineNo">2734</span>    // hbase:meta, etc. when cluster is down. Without ths connection close, we'd have to wait on<a name="line.2734"></a>
+<span class="sourceLineNo">2735</span>    // the rpc to timeout.<a name="line.2735"></a>
+<span class="sourceLineNo">2736</span>    if (this.clusterConnection != null) {<a name="line.2736"></a>
+<span class="sourceLineNo">2737</span>      this.clusterConnection.close();<a name="line.2737"></a>
+<span class="sourceLineNo">2738</span>    }<a name="line.2738"></a>
+<span class="sourceLineNo">2739</span>  }<a name="line.2739"></a>
+<span class="sourceLineNo">2740</span><a name="line.2740"></a>
+<span class="sourceLineNo">2741</span>  public void stopMaster() throws IOException {<a name="line.2741"></a>
+<span class="sourceLineNo">2742</span>    if (cpHost != null) {<a name="line.2742"></a>
+<span class="sourceLineNo">2743</span>      cpHost.preStopMaster();<a name="line.2743"></a>
+<span class="sourceLineNo">2744</span>    }<a name="line.2744"></a>
+<span class="sourceLineNo">2745</span>    stop("Stopped by " + Thread.currentThread().getName());<a name="line.2745"></a>
+<span class="sourceLineNo">2746</span>  }<a name="line.2746"></a>
+<span class="sourceLineNo">2747</span><a name="line.2747"></a>
+<span class="sourceLineNo">2748</span>  @Override<a name="line.2748"></a>
+<span class="sourceLineNo">2749</span>  public void stop(String msg) {<a name="line.2749"></a>
+<span class="sourceLineNo">2750</span>    if (!isStopped()) {<a name="line.2750"></a>
+<span class="sourceLineNo">2751</span>      super.stop(msg);<a name="line.2751"></a>
+<span class="sourceLineNo">2752</span>      if (this.activeMasterManager != null) {<a name="line.2752"></a>
+<span class="sourceLineNo">2753</span>        this.activeMasterManager.stop();<a name="line.2753"></a>
+<span class="sourceLineNo">2754</span>      }<a name="line.2754"></a>
+<span class="sourceLineNo">2755</span>    }<a name="line.2755"></a>
+<span class="sourceLineNo">2756</span>  }<a name="line.2756"></a>
+<span class="sourceLineNo">2757</span><a name="line.2757"></a>
+<span class="sourceLineNo">2758</span>  void checkServiceStarted() throws ServerNotRunningYetException {<a name="line.2758"></a>
+<span class="sourceLineNo">2759</span>    if (!serviceStarted) {<a name="line.2759"></a>
+<span class="sourceLineNo">2760</span>      throw new ServerNotRunningYetException("Server is not running yet");<a name="line.2760"></a>
+<span class="sourceLineNo">2761</span>    }<a name="line.2761"></a>
+<span class="sourceLineNo">2762</span>  }<a name="line.2762"></a>
+<span class="sourceLineNo">2763</span><a name="line.2763"></a>
+<span class="sourceLineNo">2764</span>  public static class MasterStoppedException extends DoNotRetryIOException {<a name="line.2764"></a>
+<span class="sourceLineNo">2765</span>    MasterStoppedException() {<a name="line.2765"></a>
+<span class="sourceLineNo">2766</span>      super();<a name="line.2766"></a>
+<span class="sourceLineNo">2767</span>    }<a name="line.2767"></a>
+<span class="sourceLineNo">2768</span>  }<a name="line.2768"></a>
+<span class="sourceLineNo">2769</span><a name="line.2769"></a>
+<span class="sourceLineNo">2770</span>  void checkInitialized() throws PleaseHoldException, ServerNotRunningYetException,<a name="line.2770"></a>
+<span class="sourceLineNo">2771</span>      MasterNotRunningException, MasterStoppedException {<a name="line.2771"></a>
+<span class="sourceLineNo">2772</span>    checkServiceStarted();<a name="line.2772"></a>
+<span class="sourceLineNo">2773</span>    if (!isInitialized()) {<a name="line.2773"></a>
+<span class="sourceLineNo">2774</span>      throw new PleaseHoldException("Master is initializing");<a name="line.2774"></a>
 <span class="sourceLineNo">2775</span>    }<a name="line.2775"></a>
-<span class="sourceLineNo">2776</span>  }<a name="line.2776"></a>
-<span class="sourceLineNo">2777</span><a name="line.2777"></a>
-<span class="sourceLineNo">2778</span>  /**<a name="line.2778"></a>
-<span class="sourceLineNo">2779</span>   * Report whether this master is currently the active master or not.<a name="line.2779"></a>
-<span class="sourceLineNo">2780</span>   * If not active master, we are parked on ZK waiting to become active.<a name="line.2780"></a>
-<span class="sourceLineNo">2781</span>   *<a name="line.2781"></a>
-<span class="sourceLineNo">2782</span>   * This method is used for testing.<a name="line.2782"></a>
-<span class="sourceLineNo">2783</span>   *<a name="line.2783"></a>
-<span class="sourceLineNo">2784</span>   * @return true if active master, false if not.<a name="line.2784"></a>
-<span class="sourceLineNo">2785</span>   */<a name="line.2785"></a>
-<span class="sourceLineNo">2786</span>  @Override<a name="line.2786"></a>
-<span class="sourceLineNo">2787</span>  public boolean isActiveMaster() {<a name="line.2787"></a>
-<span class="sourceLineNo">2788</span>    return activeMaster;<a name="line.2788"></a>
-<span class="sourceLineNo">2789</span>  }<a name="line.2789"></a>
-<span class="sourceLineNo">2790</span><a name="line.2790"></a>
-<span class="sourceLineNo">2791</span>  /**<a name="line.2791"></a>
-<span class="sourceLineNo">2792</span>   * Report whether this master has completed with its initialization and is<a name="line.2792"></a>
-<span class="sourceLineNo">2793</span>   * ready.  If ready, the master is also the active master.  A standby master<a name="line.2793"></a>
-<span class="sourceLineNo">2794</span>   * is never ready.<a name="line.2794"></a>
-<span class="sourceLineNo">2795</span>   *<a name="line.2795"></a>
-<span class="sourceLineNo">2796</span>   * This method is used for testing.<a name="line.2796"></a>
-<span class="sourceLineNo">2797</span>   *<a name="line.2797"></a>
-<span class="sourceLineNo">2798</span>   * @return true if master is ready to go, false if not.<a name="line.2798"></a>
-<span class="sourceLineNo">2799</span>   */<a name="line.2799"></a>
-<span class="sourceLineNo">2800</span>  @Override<a name="line.2800"></a>
-<span class="sourceLineNo">2801</span>  public boolean isInitialized() {<a name="line.2801"></a>
-<span class="sourceLineNo">2802</span>    return initialized.isReady();<a name="line.2802"></a>
-<span class="sourceLineNo">2803</span>  }<a name="line.2803"></a>
-<span class="sourceLineNo">2804</span><a name="line.2804"></a>
-<span class="sourceLineNo">2805</span>  /**<a name="line.2805"></a>
-<span class="sourceLineNo">2806</span>   * Report whether this master is in maintenance mode.<a name="line.2806"></a>
-<span class="sourceLineNo">2807</span>   *<a name="line.2807"></a>
-<span class="sourceLineNo">2808</span>   * @return true if master is in maintenanceMode<a name="line.2808"></a>
-<span class="sourceLineNo">2809</span>   */<a name="line.2809"></a>
-<span class="sourceLineNo">2810</span>  @Override<a name="line.2810"></a>
-<span class="sourceLineNo">2811</span>  public boolean isInMaintenanceMode() {<a name="line.2811"></a>
-<span class="sourceLineNo">2812</span>    return maintenanceModeTracker.isInMaintenanceMode();<a name="line.2812"></a>
-<span class="sourceLineNo">2813</span>  }<a name="line.2813"></a>
-<span class="sourceLineNo">2814</span><a name="line.2814"></a>
-<span class="sourceLineNo">2815</span>  @VisibleForTesting<a name="line.2815"></a>
-<span class="sourceLineNo">2816</span>  public void setInitialized(boolean isInitialized) {<a name="line.2816"></a>
-<span class="sourceLineNo">2817</span>    procedureExecutor.getEnvironment().setEventReady(initialized, isInitialized);<a name="line.2817"></a>
-<span class="sourceLineNo">2818</span>  }<a name="line.2818"></a>
-<span class="sourceLineNo">2819</span><a name="line.2819"></a>
-<span class="sourceLineNo">2820</span>  @Override<a name="line.2820"></a>
-<span class="sourceLineNo">2821</span>  public ProcedureEvent&lt;?&gt; getInitializedEvent() {<a name="line.2821"></a>
-<span class="sourceLineNo">2822</span>    return initialized;<a name="line.2822"></a>
-<span class="sourceLineNo">2823</span>  }<a name="line.2823"></a>
-<span class="sourceLineNo">2824</span><a name="line.2824"></a>
-<span class="sourceLineNo">2825</span>  /**<a name="line.2825"></a>
-<span class="sourceLineNo">2826</span>   * ServerCrashProcessingEnabled is set false before completing assignMeta to prevent processing<a name="line.2826"></a>
-<span class="sourceLineNo">2827</span>   * of crashed servers.<a name="line.2827"></a>
-<span class="sourceLineNo">2828</span>   * @return true if assignMeta has completed;<a name="line.2828"></a>
-<span class="sourceLineNo">2829</span>   */<a name="line.2829"></a>
-<span class="sourceLineNo">2830</span>  @Override<a name="line.2830"></a>
-<span class="sourceLineNo">2831</span>  public boolean isServerCrashProcessingEnabled() {<a name="line.2831"></a>
-<span class="sourceLineNo">2832</span>    return serverCrashProcessingEnabled.isReady();<a name="line.2832"></a>
-<span class="sourceLineNo">2833</span>  }<a name="line.2833"></a>
-<span class="sourceLineNo">2834</span><a name="line.2834"></a>
-<span class="sourceLineNo">2835</span>  @VisibleForTesting<a name="line.2835"></a>
-<span class="sourceLineNo">2836</span>  public void setServerCrashProcessingEnabled(final boolean b) {<a name="line.2836"></a>
-<span class="sourceLineNo">2837</span>    procedureExecutor.getEnvironment().setEventReady(serverCrashProcessingEnabled, b);<a name="line.2837"></a>
-<span class="sourceLineNo">2838</span>  }<a name="line.2838"></a>
-<span class="sourceLineNo">2839</span><a name="line.2839"></a>
-<span class="sourceLineNo">2840</span>  public ProcedureEvent&lt;?&gt; getServerCrashProcessingEnabledEvent() {<a name="line.2840"></a>
-<span class="sourceLineNo">2841</span>    return serverCrashProcessingEnabled;<a name="line.2841"></a>
-<span class="sourceLineNo">2842</span>  }<a name="line.2842"></a>
-<span class="sourceLineNo">2843</span><a name="line.2843"></a>
-<span class="sourceLineNo">2844</span>  /**<a name="line.2844"></a>
-<span class="sourceLineNo">2845</span>   * Compute the average load across all region servers.<a name="line.2845"></a>
-<span class="sourceLineNo">2846</span>   * Currently, this uses a very naive computation - just uses the number of<a name="line.2846"></a>
-<span class="sourceLineNo">2847</span>   * regions being served, ignoring stats about number of requests.<a name="line.2847"></a>
-<span class="sourceLineNo">2848</span>   * @return the average load<a name="line.2848"></a>
-<span class="sourceLineNo">2849</span>   */<a name="line.2849"></a>
-<span class="sourceLineNo">2850</span>  public double getAverageLoad() {<a name="line.2850"></a>
-<span class="sourceLineNo">2851</span>    if (this.assignmentManager == null) {<a name="line.2851"></a>
-<span class="sourceLineNo">2852</span>      return 0;<a name="line.2852"></a>
-<span class="sourceLineNo">2853</span>    }<a name="line.2853"></a>
-<span class="sourceLineNo">2854</span><a name="line.2854"></a>
-<span class="sourceLineNo">2855</span>    RegionStates regionStates = this.assignmentManager.getRegionStates();<a name="line.2855"></a>
-<span class="sourceLineNo">2856</span>    if (regionStates == null) {<a name="line.2856"></a>
-<span class="sourceLineNo">2857</span>      return 0;<a name="line.2857"></a>
-<span class="sourceLineNo">2858</span>    }<a name="line.2858"></a>
-<span class="sourceLineNo">2859</span>    return regionStates.getAverageLoad();<a name="line.2859"></a>
-<span class="sourceLineNo">2860</span>  }<a name="line.2860"></a>
-<span class="sourceLineNo">2861</span><a name="line.2861"></a>
-<span class="sourceLineNo">2862</span>  /*<a name="line.2862"></a>
-<span class="sourceLineNo">2863</span>   * @return the count of region split plans executed<a name="line.2863"></a>
-<span class="sourceLineNo">2864</span>   */<a name="line.2864"></a>
-<span class="sourceLineNo">2865</span>  public long getSplitPlanCount() {<a name="line.2865"></a>
-<span class="sourceLineNo">2866</span>    return splitPlanCount;<a name="line.2866"></a>
-<span class="sourceLineNo">2867</span>  }<a name="line.2867"></a>
-<span class="sourceLineNo">2868</span><a name="line.2868"></a>
-<span class="sourceLineNo">2869</span>  /*<a name="line.2869"></a>
-<span class="sourceLineNo">2870</span>   * @return the count of region merge plans executed<a name="line.2870"></a>
-<span class="sourceLineNo">2871</span>   */<a name="line.2871"></a>
-<span class="sourceLineNo">2872</span>  public long getMergePlanCount() {<a name="line.2872"></a>
-<span class="sourceLineNo">2873</span>    return mergePlanCount;<a name="line.2873"></a>
-<span class="sourceLineNo">2874</span>  }<a name="line.2874"></a>
-<span class="sourceLineNo">2875</span><a name="line.2875"></a>
-<span class="sourceLineNo">2876</span>  @Override<a name="line.2876"></a>
-<span class="sourceLineNo">2877</span>  public boolean registerService(Service instance) {<a name="line.2877"></a>
-<span class="sourceLineNo">2878</span>    /*<a name="line.2878"></a>
-<span class="sourceLineNo">2879</span>     * No stacking of instances is allowed for a single service name<a name="line.2879"></a>
-<span class="sourceLineNo">2880</span>     */<a name="line.2880"></a>
-<span class="sourceLineNo">2881</span>    Descriptors.ServiceDescriptor serviceDesc = instance.getDescriptorForType();<a name="line.2881"></a>
-<span class="sourceLineNo">2882</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.2882"></a>
-<span class="sourceLineNo">2883</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.2883"></a>
-<span class="sourceLineNo">2884</span>      LOG.error("Coprocessor service "+serviceName+<a name="line.2884"></a>
-<span class="sourceLineNo">2885</span>          " already registered, rejecting request from "+instance<a name="line.2885"></a>
-<span class="so

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index e159b3f..3168ee3 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -145,8 +145,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/TestBackupDeleteWithFailures.Failure.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">TestBackupDeleteWithFailures.Failure</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/TestIncrementalBackupMergeWithFailures.FailurePhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">TestIncrementalBackupMergeWithFailures.FailurePhase</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/TestBackupDeleteWithFailures.Failure.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">TestBackupDeleteWithFailures.Failure</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestMaxRetriesCoprocessor.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestMaxRetriesCoprocessor.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestMaxRetriesCoprocessor.html
index 2041495..d7f6323 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestMaxRetriesCoprocessor.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestMaxRetriesCoprocessor.html
@@ -225,7 +225,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNam
 espace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction,
  preGetClusterMetrics, preGetLocks, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRe
 gionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableA
 ction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaste
 r, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestOperationTimeoutCoprocessor.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestOperationTimeoutCoprocessor.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestOperationTimeoutCoprocessor.html
index 838eb6f..3dd52bd 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestOperationTimeoutCoprocessor.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestOperationTimeoutCoprocessor.html
@@ -225,7 +225,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNam
 espace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction,
  preGetClusterMetrics, preGetLocks, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRe
 gionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableA
 ction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaste
 r, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestRpcTimeoutCoprocessor.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestRpcTimeoutCoprocessor.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestRpcTimeoutCoprocessor.html
index 3e6cd12..6053e6c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestRpcTimeoutCoprocessor.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.TestRpcTimeoutCoprocessor.html
@@ -214,7 +214,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNam
 espace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction,
  preGetClusterMetrics, preGetLocks, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRe
 gionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableA
 ction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaste
 r, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/client/TestEnableTable.MasterSyncObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestEnableTable.MasterSyncObserver.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestEnableTable.MasterSyncObserver.html
index b8b0fc5..c70cec9 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestEnableTable.MasterSyncObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestEnableTable.MasterSyncObserver.html
@@ -235,7 +235,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyTable, postMove, postMoveServers, postMoveServ
 ersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, p
 reGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyNamespace, pos
 tModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableA
 ction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, p
 reTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/client/TestMultiParallel.MyMasterObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestMultiParallel.MyMasterObserver.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestMultiParallel.MyMasterObserver.html
index 13c7926..230e656 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestMultiParallel.MyMasterObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestMultiParallel.MyMasterObserver.html
@@ -226,7 +226,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterObserver, org.apache.hadoop
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postM
 odifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetCluste
 rMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li
 >
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAc
 tion, postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEna
 bleReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction
 , preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.Coprocessor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestClassLoading.TestMasterCoprocessor.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestClassLoading.TestMasterCoprocessor.html b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestClassLoading.TestMasterCoprocessor.html
index 7d52002..4f9cfaf 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestClassLoading.TestMasterCoprocessor.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestClassLoading.TestMasterCoprocessor.html
@@ -209,7 +209,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNam
 espace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction,
  preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConf
 ig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRe
 gionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableA
 ction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBef
 oreMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestCoprocessorMetrics.CustomMasterObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestCoprocessorMetrics.CustomMasterObserver.html b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestCoprocessorMetrics.CustomMasterObserver.html
index dc981d4..e5c0e14 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestCoprocessorMetrics.CustomMasterObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestCoprocessorMetrics.CustomMasterObserver.html
@@ -241,7 +241,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModif
 yTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLock
 s, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction
 , postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, 
 preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, pre
 TableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.BuggyMasterObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.BuggyMasterObserver.html b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.BuggyMasterObserver.html
index 0f1ccd7..2edb6a6 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.BuggyMasterObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.BuggyMasterObserver.html
@@ -258,7 +258,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModif
 yTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks
 , preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction
 , postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, p
 reEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preT
 ableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.BuggyMasterObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.BuggyMasterObserver.html b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.BuggyMasterObserver.html
index 33c01e5..2ac09c2 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.BuggyMasterObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.BuggyMasterObserver.html
@@ -258,7 +258,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModif
 yTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks
 , preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction
 , postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, p
 reEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preT
 ableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html
index 4e91667..0d7be4c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.CPMasterObserver.html
@@ -1468,7 +1468,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAddReplicationPeer, postClearDeadServers, postDecommissionRegionServers, postDisableReplicationPeer, postEnableReplicationPeer, postGetClusterMetrics, postGetReplicationPeerConfig, postListDecommissionedRegionServers, postListReplicationPeers, postRecommissionRegionServer, postRemoveReplicationPeer, postRemoveServers, postUpdateReplicationPeerConfig, preAddReplicationPeer, preClearDeadServers, preDecommissionRegionServers, preDisableReplicationPeer, preEnableReplicationPeer, preGetClusterMetrics, preGetReplicationPeerConfig, preListDecommissionedRegionServers, preListReplicationPeers, preRecommissionRegionServer, preRemoveReplicationPeer, preRemoveServers, preSetSplitOrMergeEnabled, preUpdateReplicationPeerConfig</code></li>
+<code>postAddReplicationPeer, postClearDeadServers, postCompletedModifyTableAction, postDecommissionRegionServers, postDisableReplicationPeer, postEnableReplicationPeer, postGetClusterMetrics, postGetReplicationPeerConfig, postListDecommissionedRegionServers, postListReplicationPeers, postModifyNamespace, postModifyTable, postRecommissionRegionServer, postRemoveReplicationPeer, postRemoveServers, postUpdateReplicationPeerConfig, preAddReplicationPeer, preClearDeadServers, preDecommissionRegionServers, preDisableReplicationPeer, preEnableReplicationPeer, preGetClusterMetrics, preGetReplicationPeerConfig, preListDecommissionedRegionServers, preListReplicationPeers, preModifyNamespace, preModifyTable, preModifyTableAction, preRecommissionRegionServer, preRemoveReplicationPeer, preRemoveServers, preSetSplitOrMergeEnabled, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index 4837d80..ec56445 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -158,8 +158,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/TagUsage.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">TagUsage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">TestCacheOnWrite.CacheOnWriteType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/TagUsage.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">TagUsage</span></a></li>
 </ul>
 </li>
 </ul>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html b/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html
index 6d9b2df..3a370e4 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html
@@ -1368,7 +1368,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContex
 t-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../.
 ./../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">
 postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apa
 che.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coproce
 ssor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a 
 href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client
 .SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hado
 op/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache
 .hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/
 coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/a
 pache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../.
 ./../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a
  href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.had
 oop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetClusterMetrics</a>, 
 <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverC
 ontext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTabl
 es</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">preRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforeMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.u
 til.List-">preSplitRegionBeforeMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContex
 t-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../.
 ./../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">
 postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamesp
 ace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.Obs
 erverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.h
 tml#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coproces
 sor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.had
 oop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.Observe
 rContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-"
 >postRecommissionRegionServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverC
 ontext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hb
 ase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apach
 e.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign
 -org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apac
 he.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTabl
 eNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitActi
 on</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-
 org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="
 ../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">preRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforeMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforeMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.a
 pache.hadoop.hbase.TableName-">preTruncateTableAction</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.coprocessor.RegionObserver">
@@ -2213,7 +2213,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>c</code> - the environment to interact with the framework and master</dd>
 <dd><code>tableName</code> - the name of the table</dd>
-<dd><code>htd</code> - the TableDescriptor</dd>
+<dd><code>htd</code> - after modify operation, table will have this descriptor</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
@@ -2238,7 +2238,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>c</code> - the environment to interact with the framework and master</dd>
 <dd><code>tableName</code> - the name of the table</dd>
-<dd><code>htd</code> - the TableDescriptor</dd>
+<dd><code>htd</code> - current TableDescriptor of the table</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
@@ -2807,7 +2807,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
-<dd><code>ns</code> - the NamespaceDescriptor</dd>
+<dd><code>ns</code> - after modify operation, namespace will have this descriptor</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.html
index 0653ad2..edce544 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.html
@@ -386,26 +386,30 @@ implements org.apache.hadoop.util.Tool</pre>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html#ONE_GB">ONE_GB</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html#PE_COMMAND_SHORTNAME">PE_COMMAND_SHORTNAME</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private static org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html#PERF_EVAL_DIR">PERF_EVAL_DIR</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html#RANDOM_READ">RANDOM_READ</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html#RANDOM_SEEK_SCAN">RANDOM_SEEK_SCAN</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html#ROW_LENGTH">ROW_LENGTH</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html#TABLE_NAME">TABLE_NAME</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html#TAG_LENGTH">TAG_LENGTH</a></span></code>&nbsp;</td>
 </tr>
@@ -545,7 +549,7 @@ implements org.apache.hadoop.util.Tool</pre>
 </tr>
 <tr id="i20" class="altColor">
 <td class="colFirst"><code>protected static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html#printUsage-java.lang.String-java.lang.String-">printUsage</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html#printUsage-java.lang.String-java.lang.String-">printUsage</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;shortName,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</code>&nbsp;</td>
 </tr>
 <tr id="i21" class="rowColor">
@@ -644,13 +648,26 @@ implements org.apache.hadoop.util.Tool</pre>
 </dl>
 </li>
 </ul>
+<a name="PE_COMMAND_SHORTNAME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PE_COMMAND_SHORTNAME</h4>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.135">PE_COMMAND_SHORTNAME</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.PerformanceEvaluation.PE_COMMAND_SHORTNAME">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="LOG">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.135">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.136">LOG</a></pre>
 </li>
 </ul>
 <a name="MAPPER">
@@ -659,7 +676,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>MAPPER</h4>
-<pre>private static final&nbsp;com.fasterxml.jackson.databind.ObjectMapper <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.136">MAPPER</a></pre>
+<pre>private static final&nbsp;com.fasterxml.jackson.databind.ObjectMapper <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.137">MAPPER</a></pre>
 </li>
 </ul>
 <a name="TABLE_NAME">
@@ -668,7 +685,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>TABLE_NAME</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.141">TABLE_NAME</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.142">TABLE_NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.PerformanceEvaluation.TABLE_NAME">Constant Field Values</a></dd>
@@ -681,7 +698,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>FAMILY_NAME_BASE</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.142">FAMILY_NAME_BASE</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.143">FAMILY_NAME_BASE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.PerformanceEvaluation.FAMILY_NAME_BASE">Constant Field Values</a></dd>
@@ -694,7 +711,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>FAMILY_ZERO</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.143">FAMILY_ZERO</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.144">FAMILY_ZERO</a></pre>
 </li>
 </ul>
 <a name="COLUMN_ZERO">
@@ -703,7 +720,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>COLUMN_ZERO</h4>
-<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.144">COLUMN_ZERO</a></pre>
+<pre>public static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.145">COLUMN_ZERO</a></pre>
 </li>
 </ul>
 <a name="DEFAULT_VALUE_LENGTH">
@@ -712,7 +729,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_VALUE_LENGTH</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.145">DEFAULT_VALUE_LENGTH</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.146">DEFAULT_VALUE_LENGTH</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.PerformanceEvaluation.DEFAULT_VALUE_LENGTH">Constant Field Values</a></dd>
@@ -725,7 +742,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>ROW_LENGTH</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.146">ROW_LENGTH</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.147">ROW_LENGTH</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.PerformanceEvaluation.ROW_LENGTH">Constant Field Values</a></dd>
@@ -738,7 +755,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>ONE_GB</h4>
-<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.148">ONE_GB</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.149">ONE_GB</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.PerformanceEvaluation.ONE_GB">Constant Field Values</a></dd>
@@ -751,7 +768,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_ROWS_PER_GB</h4>
-<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.149">DEFAULT_ROWS_PER_GB</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.150">DEFAULT_ROWS_PER_GB</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.PerformanceEvaluation.DEFAULT_ROWS_PER_GB">Constant Field Values</a></dd>
@@ -764,7 +781,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>TAG_LENGTH</h4>
-<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.151">TAG_LENGTH</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.152">TAG_LENGTH</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.PerformanceEvaluation.TAG_LENGTH">Constant Field Values</a></dd>
@@ -777,7 +794,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>FMT</h4>
-<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/text/DecimalFormat.html?is-external=true" title="class or interface in java.text">DecimalFormat</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.152">FMT</a></pre>
+<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/text/DecimalFormat.html?is-external=true" title="class or interface in java.text">DecimalFormat</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.153">FMT</a></pre>
 </li>
 </ul>
 <a name="CXT">
@@ -786,7 +803,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>CXT</h4>
-<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/math/MathContext.html?is-external=true" title="class or interface in java.math">MathContext</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.153">CXT</a></pre>
+<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/math/MathContext.html?is-external=true" title="class or interface in java.math">MathContext</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.154">CXT</a></pre>
 </li>
 </ul>
 <a name="MS_PER_SEC">
@@ -795,7 +812,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>MS_PER_SEC</h4>
-<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.154">MS_PER_SEC</a></pre>
+<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.155">MS_PER_SEC</a></pre>
 </li>
 </ul>
 <a name="BYTES_PER_MB">
@@ -804,7 +821,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>BYTES_PER_MB</h4>
-<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.155">BYTES_PER_MB</a></pre>
+<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.156">BYTES_PER_MB</a></pre>
 </li>
 </ul>
 <a name="DEFAULT_OPTS">
@@ -813,7 +830,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_OPTS</h4>
-<pre>private static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.156">DEFAULT_OPTS</a></pre>
+<pre>private static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.157">DEFAULT_OPTS</a></pre>
 </li>
 </ul>
 <a name="COMMANDS">
@@ -822,7 +839,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>COMMANDS</h4>
-<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CmdDescriptor</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.158">COMMANDS</a></pre>
+<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CmdDescriptor</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.159">COMMANDS</a></pre>
 </li>
 </ul>
 <a name="PERF_EVAL_DIR">
@@ -831,7 +848,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>PERF_EVAL_DIR</h4>
-<pre>private static final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.159">PERF_EVAL_DIR</a></pre>
+<pre>private static final&nbsp;org.apache.hadoop.fs.Path <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.160">PERF_EVAL_DIR</a></pre>
 </li>
 </ul>
 <a name="JOB_INPUT_FILENAME">
@@ -840,7 +857,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>JOB_INPUT_FILENAME</h4>
-<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.552">JOB_INPUT_FILENAME</a></pre>
+<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.553">JOB_INPUT_FILENAME</a></pre>
 <div class="block">Each client has one mapper to do the work,  and client do the resulting count in a map task.</div>
 </li>
 </ul>
@@ -858,7 +875,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.241">PerformanceEvaluation</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.242">PerformanceEvaluation</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Constructor</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -880,7 +897,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>addCommandDescriptor</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.245">addCommandDescriptor</a>(<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt;&nbsp;cmdClass,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.246">addCommandDescriptor</a>(<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt;&nbsp;cmdClass,
                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;description)</pre>
 </li>
@@ -891,7 +908,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTable</h4>
-<pre>static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.337">checkTable</a>(org.apache.hadoop.hbase.client.Admin&nbsp;admin,
+<pre>static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.338">checkTable</a>(org.apache.hadoop.hbase.client.Admin&nbsp;admin,
                           <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts)
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -906,7 +923,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptor</h4>
-<pre>protected static&nbsp;org.apache.hadoop.hbase.HTableDescriptor&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.399">getTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts)</pre>
+<pre>protected static&nbsp;org.apache.hadoop.hbase.HTableDescriptor&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.400">getTableDescriptor</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts)</pre>
 <div class="block">Create an HTableDescriptor from provided TestOptions.</div>
 </li>
 </ul>
@@ -916,7 +933,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplits</h4>
-<pre>protected static&nbsp;byte[][]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.426">getSplits</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts)</pre>
+<pre>protected static&nbsp;byte[][]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.427">getSplits</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts)</pre>
 <div class="block">generates splits based on total number of rows and specified split regions</div>
 </li>
 </ul>
@@ -926,7 +943,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>doLocalClients</h4>
-<pre>static&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RunResult</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.443">doLocalClients</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts,
+<pre>static&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RunResult</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.444">doLocalClients</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts,
                                                         org.apache.hadoop.conf.Configuration&nbsp;conf)
                                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
@@ -945,7 +962,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>doMapReduce</h4>
-<pre>static&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.508">doMapReduce</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts,
+<pre>static&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.509">doMapReduce</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts,
                                                    org.apache.hadoop.conf.Configuration&nbsp;conf)
                                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
@@ -964,7 +981,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>writeInputFile</h4>
-<pre>static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.560">writeInputFile</a>(org.apache.hadoop.conf.Configuration&nbsp;c,
+<pre>static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.561">writeInputFile</a>(org.apache.hadoop.conf.Configuration&nbsp;c,
                                                 <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts)
                                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -979,7 +996,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>writeInputFile</h4>
-<pre>static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.564">writeInputFile</a>(org.apache.hadoop.conf.Configuration&nbsp;c,
+<pre>static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.565">writeInputFile</a>(org.apache.hadoop.conf.Configuration&nbsp;c,
                                                 <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts,
                                                 org.apache.hadoop.fs.Path&nbsp;basedir)
                                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -995,7 +1012,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>calculateMbps</h4>
-<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2233">calculateMbps</a>(int&nbsp;rows,
+<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2234">calculateMbps</a>(int&nbsp;rows,
                                     long&nbsp;timeMs,
                                     int&nbsp;valueSize,
                                     int&nbsp;families,
@@ -1016,7 +1033,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>format</h4>
-<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2248">format</a>(int&nbsp;number)</pre>
+<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2249">format</a>(int&nbsp;number)</pre>
 </li>
 </ul>
 <a name="generateData-java.util.Random-int-">
@@ -1025,7 +1042,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>generateData</h4>
-<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2264">generateData</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;r,
+<pre>public static&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2265">generateData</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;r,
                                   int&nbsp;length)</pre>
 </li>
 </ul>
@@ -1035,7 +1052,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getRandomRow</h4>
-<pre>static&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2286">getRandomRow</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random,
+<pre>static&nbsp;byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2287">getRandomRow</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random,
                            int&nbsp;totalRows)</pre>
 </li>
 </ul>
@@ -1045,7 +1062,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>generateRandomRow</h4>
-<pre>static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2290">generateRandomRow</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random,
+<pre>static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2291">generateRandomRow</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random,
                              int&nbsp;totalRows)</pre>
 </li>
 </ul>
@@ -1055,7 +1072,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>runOneClient</h4>
-<pre>static&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RunResult</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2294">runOneClient</a>(<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt;&nbsp;cmd,
+<pre>static&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RunResult</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2295">runOneClient</a>(<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt;&nbsp;cmd,
                                                     org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                     org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                                     org.apache.hadoop.hbase.client.AsyncConnection&nbsp;asyncCon,
@@ -1076,7 +1093,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getAverageValueLength</h4>
-<pre>private static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2332">getAverageValueLength</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts)</pre>
+<pre>private static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2333">getAverageValueLength</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts)</pre>
 </li>
 </ul>
 <a name="runTest-java.lang.Class-org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions-">
@@ -1085,7 +1102,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>runTest</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2336">runTest</a>(<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt;&nbsp;cmd,
+<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2337">runTest</a>(<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt;&nbsp;cmd,
                      <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts)
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
@@ -1106,7 +1123,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>printUsage</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2358">printUsage</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2359">printUsage</a>()</pre>
 </li>
 </ul>
 <a name="printUsage-java.lang.String-">
@@ -1115,7 +1132,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>printUsage</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2362">printUsage</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2363">printUsage</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
 </li>
 </ul>
 <a name="printUsageAndExit-java.lang.String-int-">
@@ -1124,7 +1141,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>printUsageAndExit</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2366">printUsageAndExit</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2367">printUsageAndExit</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message,
                                         int&nbsp;exitCode)</pre>
 </li>
 </ul>
@@ -1134,7 +1151,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>printUsage</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2371">printUsage</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2372">printUsage</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;shortName,
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;message)</pre>
 </li>
 </ul>
@@ -1144,7 +1161,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>parseOpts</h4>
-<pre>static&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2478">parseOpts</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util">Queue</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;args)</pre>
+<pre>static&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2479">parseOpts</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util">Queue</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;args)</pre>
 <div class="block">Parse options passed in via an arguments array. Assumes that array has been split
  on white-space and placed into a <code>Queue</code>. Any unknown arguments will remain
  in the queue at the conclusion of this method call. It's up to the caller to deal
@@ -1157,7 +1174,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>calculateRowsAndSize</h4>
-<pre>static&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2758">calculateRowsAndSize</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts)</pre>
+<pre>static&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2759">calculateRowsAndSize</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts)</pre>
 </li>
 </ul>
 <a name="getRowsPerGB-org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions-">
@@ -1166,7 +1183,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowsPerGB</h4>
-<pre>static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2776">getRowsPerGB</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts)</pre>
+<pre>static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2777">getRowsPerGB</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;opts)</pre>
 </li>
 </ul>
 <a name="run-java.lang.String:A-">
@@ -1175,7 +1192,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2782">run</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2783">run</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1191,7 +1208,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>isCommandClass</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2827">isCommandClass</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;cmd)</pre>
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2828">isCommandClass</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;cmd)</pre>
 </li>
 </ul>
 <a name="determineCommandClass-java.lang.String-">
@@ -1200,7 +1217,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>determineCommandClass</h4>
-<pre>private static&nbsp;<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2831">determineCommandClass</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;cmd)</pre>
+<pre>private static&nbsp;<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2832">determineCommandClass</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;cmd)</pre>
 </li>
 </ul>
 <a name="main-java.lang.String:A-">
@@ -1209,7 +1226,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2836">main</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2837">main</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/TestCellComparator.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/TestCellComparator.html b/testdevapidocs/org/apache/hadoop/hbase/TestCellComparator.html
index 89a9fe4..1fcd24e 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/TestCellComparator.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/TestCellComparator.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":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";
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.33">TestCellComparator</a>
+<pre>public class <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.37">TestCellComparator</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -200,23 +200,44 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </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>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>private static org.apache.hadoop.hbase.Cell</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/TestCellComparator.html#createByteBufferKeyValueFromKeyValue-org.apache.hadoop.hbase.KeyValue-">createByteBufferKeyValueFromKeyValue</a></span>(org.apache.hadoop.hbase.KeyValue&nbsp;kv)</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/TestCellComparator.html#testBinaryKeys--">testBinaryKeys</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/TestCellComparator.html#testCompareByteBufferedCell--">testCompareByteBufferedCell</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<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/TestCellComparator.html#testCompareCells--">testCompareCells</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<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/TestCellComparator.html#testCompareCellWithKey--">testCompareCellWithKey</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/TestCellComparator.html#testMetaComparisons--">testMetaComparisons</a></span>()</code>
+<div class="block">Test meta comparisons using our new ByteBufferKeyValue Cell type, the type we use everywhere
+ in 2.0.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/hbase/TestCellComparator.html#testMetaComparisons2--">testMetaComparisons2</a></span>()</code>
+<div class="block">More tests using ByteBufferKeyValue copied over from TestKeyValue which uses old KVs only.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -245,7 +266,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>CLASS_RULE</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.36">CLASS_RULE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.40">CLASS_RULE</a></pre>
 </li>
 </ul>
 <a name="comparator">
@@ -254,7 +275,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>comparator</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.CellComparator <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.39">comparator</a></pre>
+<pre>private&nbsp;org.apache.hadoop.hbase.CellComparator <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.43">comparator</a></pre>
 </li>
 </ul>
 <a name="row1">
@@ -263,7 +284,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>row1</h4>
-<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.40">row1</a></pre>
+<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.44">row1</a></pre>
 </li>
 </ul>
 <a name="row2">
@@ -272,7 +293,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>row2</h4>
-<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.41">row2</a></pre>
+<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.45">row2</a></pre>
 </li>
 </ul>
 <a name="row_1_0">
@@ -281,7 +302,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>row_1_0</h4>
-<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.42">row_1_0</a></pre>
+<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.46">row_1_0</a></pre>
 </li>
 </ul>
 <a name="fam1">
@@ -290,7 +311,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>fam1</h4>
-<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.44">fam1</a></pre>
+<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.48">fam1</a></pre>
 </li>
 </ul>
 <a name="fam2">
@@ -299,7 +320,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>fam2</h4>
-<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.45">fam2</a></pre>
+<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.49">fam2</a></pre>
 </li>
 </ul>
 <a name="fam_1_2">
@@ -308,7 +329,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>fam_1_2</h4>
-<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.46">fam_1_2</a></pre>
+<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.50">fam_1_2</a></pre>
 </li>
 </ul>
 <a name="qual1">
@@ -317,7 +338,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>qual1</h4>
-<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.48">qual1</a></pre>
+<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.52">qual1</a></pre>
 </li>
 </ul>
 <a name="qual2">
@@ -326,7 +347,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>qual2</h4>
-<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.49">qual2</a></pre>
+<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.53">qual2</a></pre>
 </li>
 </ul>
 <a name="val">
@@ -335,7 +356,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>val</h4>
-<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.51">val</a></pre>
+<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.55">val</a></pre>
 </li>
 </ul>
 </li>
@@ -352,7 +373,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestCellComparator</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.33">TestCellComparator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.37">TestCellComparator</a>()</pre>
 </li>
 </ul>
 </li>
@@ -369,7 +390,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testCompareCells</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.54">testCompareCells</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.58">testCompareCells</a>()</pre>
 </li>
 </ul>
 <a name="testCompareCellWithKey--">
@@ -378,7 +399,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testCompareCellWithKey</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.77">testCompareCellWithKey</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.81">testCompareCellWithKey</a>()
                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -389,10 +410,59 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <a name="testCompareByteBufferedCell--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>testCompareByteBufferedCell</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.105">testCompareByteBufferedCell</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.109">testCompareByteBufferedCell</a>()</pre>
+</li>
+</ul>
+<a name="testMetaComparisons--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testMetaComparisons</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.141">testMetaComparisons</a>()
+                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Test meta comparisons using our new ByteBufferKeyValue Cell type, the type we use everywhere
+ in 2.0.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="createByteBufferKeyValueFromKeyValue-org.apache.hadoop.hbase.KeyValue-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createByteBufferKeyValueFromKeyValue</h4>
+<pre>private static&nbsp;org.apache.hadoop.hbase.Cell&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.169">createByteBufferKeyValueFromKeyValue</a>(org.apache.hadoop.hbase.KeyValue&nbsp;kv)</pre>
+</li>
+</ul>
+<a name="testMetaComparisons2--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testMetaComparisons2</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.178">testMetaComparisons2</a>()</pre>
+<div class="block">More tests using ByteBufferKeyValue copied over from TestKeyValue which uses old KVs only.</div>
+</li>
+</ul>
+<a name="testBinaryKeys--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testBinaryKeys</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/TestCellComparator.html#line.209">testBinaryKeys</a>()
+                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/TestClientClusterMetrics.MyObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/TestClientClusterMetrics.MyObserver.html b/testdevapidocs/org/apache/hadoop/hbase/TestClientClusterMetrics.MyObserver.html
index e577633..1dd98ef 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/TestClientClusterMetrics.MyObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/TestClientClusterMetrics.MyObserver.html
@@ -233,7 +233,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyTable
 , postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetLocks, preGetNam
 espaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, post
 ModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplica
 tionPeer, preEnableTable, preEnableTableAction, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, 
 preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/TestClientClusterStatus.MyObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/TestClientClusterStatus.MyObserver.html b/testdevapidocs/org/apache/hadoop/hbase/TestClientClusterStatus.MyObserver.html
index 122affb..61fdf33 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/TestClientClusterStatus.MyObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/TestClientClusterStatus.MyObserver.html
@@ -233,7 +233,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyTable
 , postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetLocks, preGetNam
 espaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, post
 ModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplica
 tionPeer, preEnableTable, preEnableTableAction, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, 
 preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/TestJMXConnectorServer.MyAccessController.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/TestJMXConnectorServer.MyAccessController.html b/testdevapidocs/org/apache/hadoop/hbase/TestJMXConnectorServer.MyAccessController.html
index e434812..06a9967 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/TestJMXConnectorServer.MyAccessController.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/TestJMXConnectorServer.MyAccessController.html
@@ -236,7 +236,7 @@ extends org.apache.hadoop.hbase.security.access.AccessController</pre>
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteSnapshot, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postListDecommissionedRegionServers, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveR
 SGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postTableFlush, postUnassign, postUpdateReplicationPeerConfig, preAddRSGroup, preBalanceRSGroup, preCreateTableAction, preDeleteTableAction, preDisableTableAction, preEnableTableAction, preGetClusterMetrics, preGetTableNames, preListNamespaceDescriptors, preMasterInitialization, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyTableAction, preMoveServers, preMoveServersAndTables, preMoveTables, preRemoveRSGroup, preRemoveServers, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preTruncateTableAction</code></li>
+<code>postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteSnapshot, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postListDecommissionedRegionServers, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionR
 egionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postTableFlush, postUnassign, postUpdateReplicationPeerConfig, preAddRSGroup, preBalanceRSGroup, preCreateTableAction, preDeleteTableAction, preDisableTableAction, preEnableTableAction, preGetClusterMetrics, preGetTableNames, preListNamespaceDescriptors, preMasterInitialization, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preModifyTableAction, preMoveServers, preMoveServersAndTables, preMoveTables, preRemoveRSGroup, preRemoveServers, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preTruncateTableAction</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.coprocessor.RegionObserver">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/backup/TestBackupDeleteWithFailures.MasterSnapshotObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/backup/TestBackupDeleteWithFailures.MasterSnapshotObserver.html b/testdevapidocs/org/apache/hadoop/hbase/backup/TestBackupDeleteWithFailures.MasterSnapshotObserver.html
index 1a09d8f..ff69988 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/backup/TestBackupDeleteWithFailures.MasterSnapshotObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/backup/TestBackupDeleteWithFailures.MasterSnapshotObserver.html
@@ -240,7 +240,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyTa
 ble, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, pre
 GetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, p
 ostModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEna
 bleTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTrun
 cateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html
index 5404ea1..1812a55 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html
@@ -35,901 +35,908 @@
 <span class="sourceLineNo">027</span>import java.net.InetSocketAddress;<a name="line.27"></a>
 <span class="sourceLineNo">028</span>import java.net.URLDecoder;<a name="line.28"></a>
 <span class="sourceLineNo">029</span>import java.net.URLEncoder;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.ArrayList;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Arrays;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.List;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.Map;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.Set;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.TreeMap;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.TreeSet;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.util.UUID;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.function.Function;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.stream.Collectors;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.commons.lang3.StringUtils;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.conf.Configuration;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.fs.FileSystem;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.fs.Path;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.Cell;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HConstants;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.TableName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.client.Put;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.Table;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.fs.HFileSystem;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.ImmutableBytesWritable;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.compress.Compression;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFileContext;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.io.hfile.HFileWriterImpl;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.regionserver.BloomType;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.regionserver.StoreFileWriter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.util.MapReduceExtendedCell;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.io.NullWritable;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.io.SequenceFile;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.io.Text;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.mapreduce.Job;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.mapreduce.OutputCommitter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.mapreduce.OutputFormat;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.mapreduce.RecordWriter;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.slf4j.Logger;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.slf4j.LoggerFactory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>/**<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * Writes HFiles. Passed Cells must arrive in order.<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * Writes current time as the sequence id for the file. Sets the major compacted<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * attribute on created @{link {@link HFile}s. Calling write(null,null) will forcibly roll<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * all HFiles being written.<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * &lt;p&gt;<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * Using this class as part of a MapReduce job is best done<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * using {@link #configureIncrementalLoad(Job, TableDescriptor, RegionLocator)}.<a name="line.103"></a>
-<span class="sourceLineNo">104</span> */<a name="line.104"></a>
-<span class="sourceLineNo">105</span>@InterfaceAudience.Public<a name="line.105"></a>
-<span class="sourceLineNo">106</span>public class HFileOutputFormat2<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    extends FileOutputFormat&lt;ImmutableBytesWritable, Cell&gt; {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  private static final Logger LOG = LoggerFactory.getLogger(HFileOutputFormat2.class);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  static class TableInfo {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    private TableDescriptor tableDesctiptor;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    private RegionLocator regionLocator;<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public TableInfo(TableDescriptor tableDesctiptor, RegionLocator regionLocator) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      this.tableDesctiptor = tableDesctiptor;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      this.regionLocator = regionLocator;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>    /**<a name="line.118"></a>
-<span class="sourceLineNo">119</span>     * The modification for the returned HTD doesn't affect the inner TD.<a name="line.119"></a>
-<span class="sourceLineNo">120</span>     * @return A clone of inner table descriptor<a name="line.120"></a>
-<span class="sourceLineNo">121</span>     * @deprecated use {@link #getTableDescriptor}<a name="line.121"></a>
-<span class="sourceLineNo">122</span>     */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    @Deprecated<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    public HTableDescriptor getHTableDescriptor() {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return new HTableDescriptor(tableDesctiptor);<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>    public TableDescriptor getTableDescriptor() {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      return tableDesctiptor;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    }<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>    public RegionLocator getRegionLocator() {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      return regionLocator;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  protected static final byte[] tableSeparator = Bytes.toBytes(";");<a name="line.137"></a>
-<span class="sourceLineNo">138</span><a name="line.138"></a>
-<span class="sourceLineNo">139</span>  protected static byte[] combineTableNameSuffix(byte[] tableName, byte[] suffix) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    return Bytes.add(tableName, tableSeparator, suffix);<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  // The following constants are private since these are used by<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  // HFileOutputFormat2 to internally transfer data between job setup and<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  // reducer run using conf.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  // These should not be changed by the client.<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  static final String COMPRESSION_FAMILIES_CONF_KEY =<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      "hbase.hfileoutputformat.families.compression";<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  static final String BLOOM_TYPE_FAMILIES_CONF_KEY =<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      "hbase.hfileoutputformat.families.bloomtype";<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  static final String BLOCK_SIZE_FAMILIES_CONF_KEY =<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      "hbase.mapreduce.hfileoutputformat.blocksize";<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  static final String DATABLOCK_ENCODING_FAMILIES_CONF_KEY =<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      "hbase.mapreduce.hfileoutputformat.families.datablock.encoding";<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  // This constant is public since the client can modify this when setting<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  // up their conf object and thus refer to this symbol.<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  // It is present for backwards compatibility reasons. Use it only to<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  // override the auto-detection of datablock encoding.<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  public static final String DATABLOCK_ENCODING_OVERRIDE_CONF_KEY =<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      "hbase.mapreduce.hfileoutputformat.datablock.encoding";<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>  /**<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * Keep locality while generating HFiles for bulkload. See HBASE-12596<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public static final String LOCALITY_SENSITIVE_CONF_KEY =<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      "hbase.bulkload.locality.sensitive.enabled";<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  private static final boolean DEFAULT_LOCALITY_SENSITIVE = true;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  static final String OUTPUT_TABLE_NAME_CONF_KEY =<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      "hbase.mapreduce.hfileoutputformat.table.name";<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  static final String MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY =<a name="line.171"></a>
-<span class="sourceLineNo">172</span>          "hbase.mapreduce.use.multi.table.hfileoutputformat";<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  public static final String STORAGE_POLICY_PROPERTY = HStore.BLOCK_STORAGE_POLICY_KEY;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public static final String STORAGE_POLICY_PROPERTY_CF_PREFIX = STORAGE_POLICY_PROPERTY + ".";<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @Override<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public RecordWriter&lt;ImmutableBytesWritable, Cell&gt; getRecordWriter(<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      final TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return createRecordWriter(context, this.getOutputCommitter(context));<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  protected static byte[] getTableNameSuffixedWithFamily(byte[] tableName, byte[] family) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    return combineTableNameSuffix(tableName, family);<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>  static &lt;V extends Cell&gt; RecordWriter&lt;ImmutableBytesWritable, V&gt;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      createRecordWriter(final TaskAttemptContext context, final OutputCommitter committer)<a name="line.188"></a>
-<span class="sourceLineNo">189</span>          throws IOException {<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>    // Get the path of the temporary output file<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    final Path outputDir = ((FileOutputCommitter)committer).getWorkPath();<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    final Configuration conf = context.getConfiguration();<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    final boolean writeMultipleTables = conf.getBoolean(MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY, false) ;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    final String writeTableNames = conf.get(OUTPUT_TABLE_NAME_CONF_KEY);<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    if (writeTableNames==null || writeTableNames.isEmpty()) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      throw new IllegalArgumentException("Configuration parameter " + OUTPUT_TABLE_NAME_CONF_KEY<a name="line.197"></a>
-<span class="sourceLineNo">198</span>              + " cannot be empty");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    }<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    final FileSystem fs = outputDir.getFileSystem(conf);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    // These configs. are from hbase-*.xml<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    final long maxsize = conf.getLong(HConstants.HREGION_MAX_FILESIZE,<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        HConstants.DEFAULT_MAX_FILE_SIZE);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    // Invented config.  Add to hbase-*.xml if other than default compression.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    final String defaultCompressionStr = conf.get("hfile.compression",<a name="line.205"></a>
-<span class="sourceLineNo">206</span>        Compression.Algorithm.NONE.getName());<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    final Algorithm defaultCompression = HFileWriterImpl<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        .compressionByName(defaultCompressionStr);<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    final boolean compactionExclude = conf.getBoolean(<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        "hbase.mapreduce.hfileoutputformat.compaction.exclude", false);<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    final Set&lt;String&gt; allTableNames = Arrays.stream(writeTableNames.split(<a name="line.212"></a>
-<span class="sourceLineNo">213</span>            Bytes.toString(tableSeparator))).collect(Collectors.toSet());<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // create a map from column family to the compression algorithm<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    final Map&lt;byte[], Algorithm&gt; compressionMap = createFamilyCompressionMap(conf);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    final Map&lt;byte[], BloomType&gt; bloomTypeMap = createFamilyBloomTypeMap(conf);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    final Map&lt;byte[], Integer&gt; blockSizeMap = createFamilyBlockSizeMap(conf);<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>    String dataBlockEncodingStr = conf.get(DATABLOCK_ENCODING_OVERRIDE_CONF_KEY);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    final Map&lt;byte[], DataBlockEncoding&gt; datablockEncodingMap<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        = createFamilyDataBlockEncodingMap(conf);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    final DataBlockEncoding overriddenEncoding;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    if (dataBlockEncodingStr != null) {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      overriddenEncoding = DataBlockEncoding.valueOf(dataBlockEncodingStr);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    } else {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      overriddenEncoding = null;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>    return new RecordWriter&lt;ImmutableBytesWritable, V&gt;() {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      // Map of families to writers and how much has been output on the writer.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      private final Map&lt;byte[], WriterLength&gt; writers =<a name="line.232"></a>
-<span class="sourceLineNo">233</span>              new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      private byte[] previousRow = HConstants.EMPTY_BYTE_ARRAY;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      private final long now = EnvironmentEdgeManager.currentTime();<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      private boolean rollRequested = false;<a name="line.236"></a>
-<span class="sourceLineNo">237</span><a name="line.237"></a>
-<span class="sourceLineNo">238</span>      @Override<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      public void write(ImmutableBytesWritable row, V cell)<a name="line.239"></a>
-<span class="sourceLineNo">240</span>          throws IOException {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        Cell kv = cell;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>        // null input == user explicitly wants to flush<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        if (row == null &amp;&amp; kv == null) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>          rollWriters(null);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>          return;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>        }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>        byte[] rowKey = CellUtil.cloneRow(kv);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        int length = (PrivateCellUtil.estimatedSerializedSizeOf(kv)) - Bytes.SIZEOF_INT;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        byte[] family = CellUtil.cloneFamily(kv);<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        byte[] tableNameBytes = null;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        if (writeMultipleTables) {<a name="line.252"></a>
-<span class="sourceLineNo">253</span>          tableNameBytes = MultiTableHFileOutputFormat.getTableName(row.get());<a name="line.253"></a>
-<span class="sourceLineNo">254</span>          if (!allTableNames.contains(Bytes.toString(tableNameBytes))) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>            throw new IllegalArgumentException("TableName '" + Bytes.toString(tableNameBytes) +<a name="line.255"></a>
-<span class="sourceLineNo">256</span>                    "' not" + " expected");<a name="line.256"></a>
-<span class="sourceLineNo">257</span>          }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        } else {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>          tableNameBytes = Bytes.toBytes(writeTableNames);<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        }<a name="line.260"></a>
-<span class="sourceLineNo">261</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        Path tableRelPath = getTableRelativePath(tableNameBytes);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableNameBytes, family);<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>        WriterLength wl = this.writers.get(tableAndFamily);<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>        // If this is a new column family, verify that the directory exists<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        if (wl == null) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>          Path writerPath = null;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          if (writeMultipleTables) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            writerPath = new Path(outputDir,new Path(tableRelPath, Bytes<a name="line.271"></a>
-<span class="sourceLineNo">272</span>                    .toString(family)));<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>          else {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>            writerPath = new Path(outputDir, Bytes.toString(family));<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          }<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          fs.mkdirs(writerPath);<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          configureStoragePolicy(conf, fs, tableAndFamily, writerPath);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        }<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>        if (wl != null &amp;&amp; wl.written + length &gt;= maxsize) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          this.rollRequested = true;<a name="line.283"></a>
+<span class="sourceLineNo">030</span>import java.nio.charset.Charset;<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.List;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Map;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.Set;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.TreeMap;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.TreeSet;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.UUID;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.function.Function;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.stream.Collectors;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.commons.lang3.StringUtils;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.conf.Configuration;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.fs.FileSystem;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.fs.Path;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.Cell;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HConstants;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.TableName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.client.Put;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.Table;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.fs.HFileSystem;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.ImmutableBytesWritable;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.compress.Compression;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileContext;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.io.hfile.HFileWriterImpl;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.regionserver.BloomType;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.regionserver.StoreFileWriter;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.util.MapReduceExtendedCell;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.io.NullWritable;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.io.SequenceFile;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.io.Text;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.mapreduce.Job;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.mapreduce.OutputCommitter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.mapreduce.OutputFormat;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.mapreduce.RecordWriter;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.slf4j.Logger;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.slf4j.LoggerFactory;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>/**<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * Writes HFiles. Passed Cells must arrive in order.<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * Writes current time as the sequence id for the file. Sets the major compacted<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * attribute on created @{link {@link HFile}s. Calling write(null,null) will forcibly roll<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * all HFiles being written.<a name="line.101"></a>
+<span class="sourceLineNo">102</span> * &lt;p&gt;<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * Using this class as part of a MapReduce job is best done<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * using {@link #configureIncrementalLoad(Job, TableDescriptor, RegionLocator)}.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>@InterfaceAudience.Public<a name="line.106"></a>
+<span class="sourceLineNo">107</span>public class HFileOutputFormat2<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    extends FileOutputFormat&lt;ImmutableBytesWritable, Cell&gt; {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  private static final Logger LOG = LoggerFactory.getLogger(HFileOutputFormat2.class);<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  static class TableInfo {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    private TableDescriptor tableDesctiptor;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    private RegionLocator regionLocator;<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>    public TableInfo(TableDescriptor tableDesctiptor, RegionLocator regionLocator) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      this.tableDesctiptor = tableDesctiptor;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      this.regionLocator = regionLocator;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>    /**<a name="line.119"></a>
+<span class="sourceLineNo">120</span>     * The modification for the returned HTD doesn't affect the inner TD.<a name="line.120"></a>
+<span class="sourceLineNo">121</span>     * @return A clone of inner table descriptor<a name="line.121"></a>
+<span class="sourceLineNo">122</span>     * @deprecated use {@link #getTableDescriptor}<a name="line.122"></a>
+<span class="sourceLineNo">123</span>     */<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    @Deprecated<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    public HTableDescriptor getHTableDescriptor() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      return new HTableDescriptor(tableDesctiptor);<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>    public TableDescriptor getTableDescriptor() {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      return tableDesctiptor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    }<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>    public RegionLocator getRegionLocator() {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      return regionLocator;<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><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  protected static final byte[] tableSeparator = Bytes.toBytes(";");<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span>  protected static byte[] combineTableNameSuffix(byte[] tableName, byte[] suffix) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    return Bytes.add(tableName, tableSeparator, suffix);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  // The following constants are private since these are used by<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  // HFileOutputFormat2 to internally transfer data between job setup and<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  // reducer run using conf.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  // These should not be changed by the client.<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  static final String COMPRESSION_FAMILIES_CONF_KEY =<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      "hbase.hfileoutputformat.families.compression";<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  static final String BLOOM_TYPE_FAMILIES_CONF_KEY =<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      "hbase.hfileoutputformat.families.bloomtype";<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  static final String BLOCK_SIZE_FAMILIES_CONF_KEY =<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      "hbase.mapreduce.hfileoutputformat.blocksize";<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  static final String DATABLOCK_ENCODING_FAMILIES_CONF_KEY =<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      "hbase.mapreduce.hfileoutputformat.families.datablock.encoding";<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  // This constant is public since the client can modify this when setting<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  // up their conf object and thus refer to this symbol.<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  // It is present for backwards compatibility reasons. Use it only to<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  // override the auto-detection of datablock encoding.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public static final String DATABLOCK_ENCODING_OVERRIDE_CONF_KEY =<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      "hbase.mapreduce.hfileoutputformat.datablock.encoding";<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>  /**<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * Keep locality while generating HFiles for bulkload. See HBASE-12596<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   */<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static final String LOCALITY_SENSITIVE_CONF_KEY =<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      "hbase.bulkload.locality.sensitive.enabled";<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  private static final boolean DEFAULT_LOCALITY_SENSITIVE = true;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  static final String OUTPUT_TABLE_NAME_CONF_KEY =<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      "hbase.mapreduce.hfileoutputformat.table.name";<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  static final String MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY =<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          "hbase.mapreduce.use.multi.table.hfileoutputformat";<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public static final String STORAGE_POLICY_PROPERTY = HStore.BLOCK_STORAGE_POLICY_KEY;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public static final String STORAGE_POLICY_PROPERTY_CF_PREFIX = STORAGE_POLICY_PROPERTY + ".";<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  @Override<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public RecordWriter&lt;ImmutableBytesWritable, Cell&gt; getRecordWriter(<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      final TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return createRecordWriter(context, this.getOutputCommitter(context));<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  }<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>  protected static byte[] getTableNameSuffixedWithFamily(byte[] tableName, byte[] family) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return combineTableNameSuffix(tableName, family);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>  static &lt;V extends Cell&gt; RecordWriter&lt;ImmutableBytesWritable, V&gt;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      createRecordWriter(final TaskAttemptContext context, final OutputCommitter committer)<a name="line.189"></a>
+<span class="sourceLineNo">190</span>          throws IOException {<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>    // Get the path of the temporary output file<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    final Path outputDir = ((FileOutputCommitter)committer).getWorkPath();<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    final Configuration conf = context.getConfiguration();<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    final boolean writeMultipleTables = conf.getBoolean(MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY, false) ;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    final String writeTableNames = conf.get(OUTPUT_TABLE_NAME_CONF_KEY);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    if (writeTableNames==null || writeTableNames.isEmpty()) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      throw new IllegalArgumentException("Configuration parameter " + OUTPUT_TABLE_NAME_CONF_KEY<a name="line.198"></a>
+<span class="sourceLineNo">199</span>              + " cannot be empty");<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    final FileSystem fs = outputDir.getFileSystem(conf);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    // These configs. are from hbase-*.xml<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    final long maxsize = conf.getLong(HConstants.HREGION_MAX_FILESIZE,<a name="line.203"></a>
+<span class="sourceLineNo">204</span>        HConstants.DEFAULT_MAX_FILE_SIZE);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    // Invented config.  Add to hbase-*.xml if other than default compression.<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    final String defaultCompressionStr = conf.get("hfile.compression",<a name="line.206"></a>
+<span class="sourceLineNo">207</span>        Compression.Algorithm.NONE.getName());<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    final Algorithm defaultCompression = HFileWriterImpl<a name="line.208"></a>
+<span class="sourceLineNo">209</span>        .compressionByName(defaultCompressionStr);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    final boolean compactionExclude = conf.getBoolean(<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        "hbase.mapreduce.hfileoutputformat.compaction.exclude", false);<a name="line.211"></a>
+<span class="sourceLineNo">212</span><a name="line.212"></a>
+<span class="sourceLineNo">213</span>    final Set&lt;String&gt; allTableNames = Arrays.stream(writeTableNames.split(<a name="line.213"></a>
+<span class="sourceLineNo">214</span>            Bytes.toString(tableSeparator))).collect(Collectors.toSet());<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>    // create a map from column family to the compression algorithm<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    final Map&lt;byte[], Algorithm&gt; compressionMap = createFamilyCompressionMap(conf);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    final Map&lt;byte[], BloomType&gt; bloomTypeMap = createFamilyBloomTypeMap(conf);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    final Map&lt;byte[], Integer&gt; blockSizeMap = createFamilyBlockSizeMap(conf);<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>    String dataBlockEncodingStr = conf.get(DATABLOCK_ENCODING_OVERRIDE_CONF_KEY);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    final Map&lt;byte[], DataBlockEncoding&gt; datablockEncodingMap<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        = createFamilyDataBlockEncodingMap(conf);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    final DataBlockEncoding overriddenEncoding;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    if (dataBlockEncodingStr != null) {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      overriddenEncoding = DataBlockEncoding.valueOf(dataBlockEncodingStr);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    } else {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      overriddenEncoding = null;<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return new RecordWriter&lt;ImmutableBytesWritable, V&gt;() {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      // Map of families to writers and how much has been output on the writer.<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      private final Map&lt;byte[], WriterLength&gt; writers =<a name="line.233"></a>
+<span class="sourceLineNo">234</span>              new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      private byte[] previousRow = HConstants.EMPTY_BYTE_ARRAY;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      private final long now = EnvironmentEdgeManager.currentTime();<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      private boolean rollRequested = false;<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>      @Override<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      public void write(ImmutableBytesWritable row, V cell)<a name="line.240"></a>
+<span class="sourceLineNo">241</span>          throws IOException {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        Cell kv = cell;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        // null input == user explicitly wants to flush<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        if (row == null &amp;&amp; kv == null) {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>          rollWriters(null);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>          return;<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>        byte[] rowKey = CellUtil.cloneRow(kv);<a name="line.249"></a>
+<span class="sourceLineNo">250</span>        int length = (PrivateCellUtil.estimatedSerializedSizeOf(kv)) - Bytes.SIZEOF_INT;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        byte[] family = CellUtil.cloneFamily(kv);<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        byte[] tableNameBytes = null;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        if (writeMultipleTables) {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>          tableNameBytes = MultiTableHFileOutputFormat.getTableName(row.get());<a name="line.254"></a>
+<span class="sourceLineNo">255</span>          tableNameBytes =<a name="line.255"></a>
+<span class="sourceLineNo">256</span>              TableName.valueOf(tableNameBytes).getNameWithNamespaceInclAsString()<a name="line.256"></a>
+<span class="sourceLineNo">257</span>              .getBytes(Charset.defaultCharset());<a name="line.257"></a>
+<span class="sourceLineNo">258</span>          if (!allTableNames.contains(Bytes.toString(tableNameBytes))) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>            throw new IllegalArgumentException("TableName '" + Bytes.toString(tableNameBytes) +<a name="line.259"></a>
+<span class="sourceLineNo">260</span>                    "' not" + " expected");<a name="line.260"></a>
+<span class="sourceLineNo">261</span>          }<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        } else {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>          tableNameBytes = Bytes.toBytes(writeTableNames);<a name="line.263"></a>
+<span class="sourceLineNo">264</span>        }<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        Path tableRelPath = getTableRelativePath(tableNameBytes);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableNameBytes, family);<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>        WriterLength wl = this.writers.get(tableAndFamily);<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>        // If this is a new column family, verify that the directory exists<a name="line.271"></a>
+<span class="sourceLineNo">272</span>        if (wl == null) {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>          Path writerPath = null;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>          if (writeMultipleTables) {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>            writerPath = new Path(outputDir,new Path(tableRelPath, Bytes<a name="line.275"></a>
+<span class="sourceLineNo">276</span>                    .toString(family)));<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>          else {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>            writerPath = new Path(outputDir, Bytes.toString(family));<a name="line.280"></a>
+<span class="sourceLineNo">281</span>          }<a name="line.281"></a>
+<span class="sourceLineNo">282</span>          fs.mkdirs(writerPath);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>          configureStoragePolicy(conf, fs, tableAndFamily, writerPath);<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>        // This can only happen once a row is finished though<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        if (rollRequested &amp;&amp; Bytes.compareTo(this.previousRow, rowKey) != 0) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>          rollWriters(wl);<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>        // create a new WAL writer, if necessary<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        if (wl == null || wl.writer == null) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          if (conf.getBoolean(LOCALITY_SENSITIVE_CONF_KEY, DEFAULT_LOCALITY_SENSITIVE)) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            HRegionLocation loc = null;<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>            if (tableName != null) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>              try (Connection connection = ConnectionFactory.createConnection(conf);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>                     RegionLocator locator =<a name="line.298"></a>
-<span class="sourceLineNo">299</span>                       connection.getRegionLocator(TableName.valueOf(tableName))) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>                loc = locator.getRegionLocation(rowKey);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>              } catch (Throwable e) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>                LOG.warn("There's something wrong when locating rowkey: " +<a name="line.302"></a>
-<span class="sourceLineNo">303</span>                  Bytes.toString(rowKey) + " for tablename: " + tableName, e);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>                loc = null;<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>            if (null == loc) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>              if (LOG.isTraceEnabled()) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>                LOG.trace("failed to get region location, so use default writer for rowkey: " +<a name="line.309"></a>
-<span class="sourceLineNo">310</span>                  Bytes.toString(rowKey));<a name="line.310"></a>
-<span class="sourceLineNo">311</span>              }<a name="line.311"></a>
-<span class="sourceLineNo">312</span>              wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>            } else {<a name="line.313"></a>
-<span class="sourceLineNo">314</span>              if (LOG.isDebugEnabled()) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>                LOG.debug("first rowkey: [" + Bytes.toString(rowKey) + "]");<a name="line.315"></a>
-<span class="sourceLineNo">316</span>              }<a name="line.316"></a>
-<span class="sourceLineNo">317</span>              InetSocketAddress initialIsa =<a name="line.317"></a>
-<span class="sourceLineNo">318</span>                  new InetSocketAddress(loc.getHostname(), loc.getPort());<a name="line.318"></a>
-<span class="sourceLineNo">319</span>              if (initialIsa.isUnresolved()) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>                if (LOG.isTraceEnabled()) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>                  LOG.trace("failed to resolve bind address: " + loc.getHostname() + ":"<a name="line.321"></a>
-<span class="sourceLineNo">322</span>                      + loc.getPort() + ", so use default writer");<a name="line.322"></a>
-<span class="sourceLineNo">323</span>                }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>                wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.324"></a>
-<span class="sourceLineNo">325</span>              } else {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>                if (LOG.isDebugEnabled()) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>                  LOG.debug("use favored nodes writer: " + initialIsa.getHostString());<a name="line.327"></a>
-<span class="sourceLineNo">328</span>                }<a name="line.328"></a>
-<span class="sourceLineNo">329</span>                wl = getNewWriter(tableNameBytes, family, conf, new InetSocketAddress[] { initialIsa<a name="line.329"></a>
-<span class="sourceLineNo">330</span>                });<a name="line.330"></a>
-<span class="sourceLineNo">331</span>              }<a name="line.331"></a>
-<span class="sourceLineNo">332</span>            }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>          } else {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>            wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>          }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>        }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>        // we now have the proper WAL writer. full steam ahead<a name="line.338"></a>
-<span class="sourceLineNo">339</span>        PrivateCellUtil.updateLatestStamp(cell, this.now);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        wl.writer.append(kv);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>        wl.written += length;<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>        // Copy the row so we know when a row transition.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        this.previousRow = rowKey;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      }<a name="line.345"></a>
+<span class="sourceLineNo">286</span>        if (wl != null &amp;&amp; wl.written + length &gt;= maxsize) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>          this.rollRequested = true;<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>        // This can only happen once a row is finished though<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        if (rollRequested &amp;&amp; Bytes.compareTo(this.previousRow, rowKey) != 0) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>          rollWriters(wl);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        }<a name="line.293"></a>
+<span class="sourceLineNo">294</span><a name="line.294"></a>
+<span class="sourceLineNo">295</span>        // create a new WAL writer, if necessary<a name="line.295"></a>
+<span class="sourceLineNo">296</span>        if (wl == null || wl.writer == null) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>          if (conf.getBoolean(LOCALITY_SENSITIVE_CONF_KEY, DEFAULT_LOCALITY_SENSITIVE)) {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>            HRegionLocation loc = null;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>            if (tableName != null) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>              try (Connection connection = ConnectionFactory.createConnection(conf);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>                     RegionLocator locator =<a name="line.302"></a>
+<span class="sourceLineNo">303</span>                       connection.getRegionLocator(TableName.valueOf(tableName))) {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>                loc = locator.getRegionLocation(rowKey);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>              } catch (Throwable e) {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>                LOG.warn("There's something wrong when locating rowkey: " +<a name="line.306"></a>
+<span class="sourceLineNo">307</span>                  Bytes.toString(rowKey) + " for tablename: " + tableName, e);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>                loc = null;<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>            if (null == loc) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>              if (LOG.isTraceEnabled()) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>                LOG.trace("failed to get region location, so use default writer for rowkey: " +<a name="line.313"></a>
+<span class="sourceLineNo">314</span>                  Bytes.toString(rowKey));<a name="line.314"></a>
+<span class="sourceLineNo">315</span>              }<a name="line.315"></a>
+<span class="sourceLineNo">316</span>              wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.316"></a>
+<span class="sourceLineNo">317</span>            } else {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>              if (LOG.isDebugEnabled()) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>                LOG.debug("first rowkey: [" + Bytes.toString(rowKey) + "]");<a name="line.319"></a>
+<span class="sourceLineNo">320</span>              }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>              InetSocketAddress initialIsa =<a name="line.321"></a>
+<span class="sourceLineNo">322</span>                  new InetSocketAddress(loc.getHostname(), loc.getPort());<a name="line.322"></a>
+<span class="sourceLineNo">323</span>              if (initialIsa.isUnresolved()) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>                if (LOG.isTraceEnabled()) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>                  LOG.trace("failed to resolve bind address: " + loc.getHostname() + ":"<a name="line.325"></a>
+<span class="sourceLineNo">326</span>                      + loc.getPort() + ", so use default writer");<a name="line.326"></a>
+<span class="sourceLineNo">327</span>                }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>                wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>              } else {<a name="line.329"></a>
+<span class="sourceLineNo">330</span>                if (LOG.isDebugEnabled()) {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>                  LOG.debug("use favored nodes writer: " + initialIsa.getHostString());<a name="line.331"></a>
+<span class="sourceLineNo">332</span>                }<a name="line.332"></a>
+<span class="sourceLineNo">333</span>                wl = getNewWriter(tableNameBytes, family, conf, new InetSocketAddress[] { initialIsa<a name="line.333"></a>
+<span class="sourceLineNo">334</span>                });<a name="line.334"></a>
+<span class="sourceLineNo">335</span>              }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>            }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>          } else {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>            wl = getNewWriter(tableNameBytes, family, conf, null);<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>        // we now have the proper WAL writer. full steam ahead<a name="line.342"></a>
+<span class="sourceLineNo">343</span>        PrivateCellUtil.updateLatestStamp(cell, this.now);<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        wl.writer.append(kv);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        wl.written += length;<a name="line.345"></a>
 <span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>      private Path getTableRelativePath(byte[] tableNameBytes) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        String[] tableNameParts = tableName.split(":");<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        Path tableRelPath = new Path(tableName.split(":")[0]);<a name="line.350"></a>
-<span class="sourceLineNo">351</span>        if (tableNameParts.length &gt; 1) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>          tableRelPath = new Path(tableRelPath, tableName.split(":")[1]);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>        }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        return tableRelPath;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      }<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      private void rollWriters(WriterLength writerLength) throws IOException {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>        if (writerLength != null) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>          closeWriter(writerLength);<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        } else {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>          for (WriterLength wl : this.writers.values()) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>            closeWriter(wl);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>          }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        }<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        this.rollRequested = false;<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>      private void closeWriter(WriterLength wl) throws IOException {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        if (wl.writer != null) {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>          LOG.info(<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              "Writer=" + wl.writer.getPath() + ((wl.written == 0)? "": ", wrote=" + wl.written));<a name="line.370"></a>
-<span class="sourceLineNo">371</span>          close(wl.writer);<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        }<a name="line.372"></a>
-<span class="sourceLineNo">373</span>        wl.writer = null;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>        wl.written = 0;<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      }<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      /*<a name="line.377"></a>
-<span class="sourceLineNo">378</span>       * Create a new StoreFile.Writer.<a name="line.378"></a>
-<span class="sourceLineNo">379</span>       * @param family<a name="line.379"></a>
-<span class="sourceLineNo">380</span>       * @return A WriterLength, containing a new StoreFile.Writer.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>       * @throws IOException<a name="line.381"></a>
-<span class="sourceLineNo">382</span>       */<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="BX_UNBOXING_IMMEDIATELY_REBOXED",<a name="line.383"></a>
-<span class="sourceLineNo">384</span>          justification="Not important")<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      private WriterLength getNewWriter(byte[] tableName, byte[] family, Configuration<a name="line.385"></a>
-<span class="sourceLineNo">386</span>              conf, InetSocketAddress[] favoredNodes) throws IOException {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableName, family);<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        Path familydir = new Path(outputDir, Bytes.toString(family));<a name="line.388"></a>
-<span class="sourceLineNo">389</span>        if (writeMultipleTables) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>          familydir = new Path(outputDir,<a name="line.390"></a>
-<span class="sourceLineNo">391</span>                  new Path(getTableRelativePath(tableName), Bytes.toString(family)));<a name="line.391"></a>
-<span class="sourceLineNo">392</span>        }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>        WriterLength wl = new WriterLength();<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        Algorithm compression = compressionMap.get(tableAndFamily);<a name="line.394"></a>
-<span class="sourceLineNo">395</span>        compression = compression == null ? defaultCompression : compression;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>        BloomType bloomType = bloomTypeMap.get(tableAndFamily);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>        bloomType = bloomType == null ? BloomType.NONE : bloomType;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        Integer blockSize = blockSizeMap.get(tableAndFamily);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        blockSize = blockSize == null ? HConstants.DEFAULT_BLOCKSIZE : blockSize;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        DataBlockEncoding encoding = overriddenEncoding;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        encoding = encoding == null ? datablockEncodingMap.get(tableAndFamily) : encoding;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        encoding = encoding == null ? DataBlockEncoding.NONE : encoding;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        Configuration tempConf = new Configuration(conf);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>        tempConf.setFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, 0.0f);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>        HFileContextBuilder contextBuilder = new HFileContextBuilder()<a name="line.405"></a>
-<span class="sourceLineNo">406</span>                                    .withCompression(compression)<a name="line.406"></a>
-<span class="sourceLineNo">407</span>                                    .withChecksumType(HStore.getChecksumType(conf))<a name="line.407"></a>
-<span class="sourceLineNo">408</span>                                    .withBytesPerCheckSum(HStore.getBytesPerChecksum(conf))<a name="line.408"></a>
-<span class="sourceLineNo">409</span>                                    .withBlockSize(blockSize);<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>        if (HFile.getFormatVersion(conf) &gt;= HFile.MIN_FORMAT_VERSION_WITH_TAGS) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          contextBuilder.withIncludesTags(true);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>        }<a name="line.413"></a>
+<span class="sourceLineNo">347</span>        // Copy the row so we know when a row transition.<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        this.previousRow = rowKey;<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>      private Path getTableRelativePath(byte[] tableNameBytes) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        String[] tableNameParts = tableName.split(":");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        Path tableRelPath = new Path(tableName.split(":")[0]);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>        if (tableNameParts.length &gt; 1) {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>          tableRelPath = new Path(tableRelPath, tableName.split(":")[1]);<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        }<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        return tableRelPath;<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      }<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      private void rollWriters(WriterLength writerLength) throws IOException {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        if (writerLength != null) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span>          closeWriter(writerLength);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        } else {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          for (WriterLength wl : this.writers.values()) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>            closeWriter(wl);<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>        this.rollRequested = false;<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>      private void closeWriter(WriterLength wl) throws IOException {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>        if (wl.writer != null) {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>          LOG.info(<a name="line.373"></a>
+<span class="sourceLineNo">374</span>              "Writer=" + wl.writer.getPath() + ((wl.written == 0)? "": ", wrote=" + wl.written));<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          close(wl.writer);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>        }<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        wl.writer = null;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        wl.written = 0;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      }<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span>      /*<a name="line.381"></a>
+<span class="sourceLineNo">382</span>       * Create a new StoreFile.Writer.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>       * @param family<a name="line.383"></a>
+<span class="sourceLineNo">384</span>       * @return A WriterLength, containing a new StoreFile.Writer.<a name="line.384"></a>
+<span class="sourceLineNo">385</span>       * @throws IOException<a name="line.385"></a>
+<span class="sourceLineNo">386</span>       */<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="BX_UNBOXING_IMMEDIATELY_REBOXED",<a name="line.387"></a>
+<span class="sourceLineNo">388</span>          justification="Not important")<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      private WriterLength getNewWriter(byte[] tableName, byte[] family, Configuration<a name="line.389"></a>
+<span class="sourceLineNo">390</span>              conf, InetSocketAddress[] favoredNodes) throws IOException {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableName, family);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        Path familydir = new Path(outputDir, Bytes.toString(family));<a name="line.392"></a>
+<span class="sourceLineNo">393</span>        if (writeMultipleTables) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>          familydir = new Path(outputDir,<a name="line.394"></a>
+<span class="sourceLineNo">395</span>                  new Path(getTableRelativePath(tableName), Bytes.toString(family)));<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>        WriterLength wl = new WriterLength();<a name="line.397"></a>
+<span class="sourceLineNo">398</span>        Algorithm compression = compressionMap.get(tableAndFamily);<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        compression = compression == null ? defaultCompression : compression;<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        BloomType bloomType = bloomTypeMap.get(tableAndFamily);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        bloomType = bloomType == null ? BloomType.NONE : bloomType;<a name="line.401"></a>
+<span class="sourceLineNo">402</span>        Integer blockSize = blockSizeMap.get(tableAndFamily);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>        blockSize = blockSize == null ? HConstants.DEFAULT_BLOCKSIZE : blockSize;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>        DataBlockEncoding encoding = overriddenEncoding;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>        encoding = encoding == null ? datablockEncodingMap.get(tableAndFamily) : encoding;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>        encoding = encoding == null ? DataBlockEncoding.NONE : encoding;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>        Configuration tempConf = new Configuration(conf);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>        tempConf.setFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, 0.0f);<a name="line.408"></a>
+<span class="sourceLineNo">409</span>        HFileContextBuilder contextBuilder = new HFileContextBuilder()<a name="line.409"></a>
+<span class="sourceLineNo">410</span>                                    .withCompression(compression)<a name="line.410"></a>
+<span class="sourceLineNo">411</span>                                    .withChecksumType(HStore.getChecksumType(conf))<a name="line.411"></a>
+<span class="sourceLineNo">412</span>                                    .withBytesPerCheckSum(HStore.getBytesPerChecksum(conf))<a name="line.412"></a>
+<span class="sourceLineNo">413</span>                                    .withBlockSize(blockSize);<a name="line.413"></a>
 <span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>        contextBuilder.withDataBlockEncoding(encoding);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>        HFileContext hFileContext = contextBuilder.build();<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        if (null == favoredNodes) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>          wl.writer =<a name="line.418"></a>
-<span class="sourceLineNo">419</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), fs)<a name="line.419"></a>
-<span class="sourceLineNo">420</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.420"></a>
-<span class="sourceLineNo">421</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext).build();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        } else {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          wl.writer =<a name="line.423"></a>
-<span class="sourceLineNo">424</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), new HFileSystem(fs))<a name="line.424"></a>
-<span class="sourceLineNo">425</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.425"></a>
-<span class="sourceLineNo">426</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext)<a name="line.426"></a>
-<span class="sourceLineNo">427</span>                  .withFavoredNodes(favoredNodes).build();<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        }<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>        this.writers.put(tableAndFamily, wl);<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        return wl;<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      }<a name="line.432"></a>
+<span class="sourceLineNo">415</span>        if (HFile.getFormatVersion(conf) &gt;= HFile.MIN_FORMAT_VERSION_WITH_TAGS) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>          contextBuilder.withIncludesTags(true);<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>        contextBuilder.withDataBlockEncoding(encoding);<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        HFileContext hFileContext = contextBuilder.build();<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        if (null == favoredNodes) {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>          wl.writer =<a name="line.422"></a>
+<span class="sourceLineNo">423</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), fs)<a name="line.423"></a>
+<span class="sourceLineNo">424</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.424"></a>
+<span class="sourceLineNo">425</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext).build();<a name="line.425"></a>
+<span class="sourceLineNo">426</span>        } else {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>          wl.writer =<a name="line.427"></a>
+<span class="sourceLineNo">428</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), new HFileSystem(fs))<a name="line.428"></a>
+<span class="sourceLineNo">429</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.429"></a>
+<span class="sourceLineNo">430</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext)<a name="line.430"></a>
+<span class="sourceLineNo">431</span>                  .withFavoredNodes(favoredNodes).build();<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>      private void close(final StoreFileWriter w) throws IOException {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        if (w != null) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          w.appendFileInfo(BULKLOAD_TIME_KEY,<a name="line.436"></a>
-<span class="sourceLineNo">437</span>              Bytes.toBytes(System.currentTimeMillis()));<a name="line.437"></a>
-<span class="sourceLineNo">438</span>          w.appendFileInfo(BULKLOAD_TASK_KEY,<a name="line.438"></a>
-<span class="sourceLineNo">439</span>              Bytes.toBytes(context.getTaskAttemptID().toString()));<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          w.appendFileInfo(MAJOR_COMPACTION_KEY,<a name="line.440"></a>
-<span class="sourceLineNo">441</span>              Bytes.toBytes(true));<a name="line.441"></a>
-<span class="sourceLineNo">442</span>          w.appendFileInfo(EXCLUDE_FROM_MINOR_COMPACTION_KEY,<a name="line.442"></a>
-<span class="sourceLineNo">443</span>              Bytes.toBytes(compactionExclude));<a name="line.443"></a>
-<span class="sourceLineNo">444</span>          w.appendTrackedTimestampsToMetadata();<a name="line.444"></a>
-<span class="sourceLineNo">445</span>          w.close();<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        }<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      }<a name="line.447"></a>
-<span class="sourceLineNo">448</span><a name="line.448"></a>
-<span class="sourceLineNo">449</span>      @Override<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      public void close(TaskAttemptContext c)<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      throws IOException, InterruptedException {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        for (WriterLength wl: this.writers.values()) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          close(wl.writer);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>        }<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    };<a name="line.456"></a>
-<span class="sourceLineNo">457</span>  }<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>   * Configure block storage policy for CF after the directory is created.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   */<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  static void configureStoragePolicy(final Configuration conf, final FileSystem fs,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      byte[] tableAndFamily, Path cfPath) {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    if (null == conf || null == fs || null == tableAndFamily || null == cfPath) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      return;<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>    String policy =<a name="line.468"></a>
-<span class="sourceLineNo">469</span>        conf.get(STORAGE_POLICY_PROPERTY_CF_PREFIX + Bytes.toString(tableAndFamily),<a name="line.469"></a>
-<span class="sourceLineNo">470</span>          conf.get(STORAGE_POLICY_PROPERTY));<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    FSUtils.setStoragePolicy(fs, cfPath, policy);<a na

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private Histogram remoteRpcCallsHisto

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/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 cea34ef..4c472b8 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -703,20 +703,20 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/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/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/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/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/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.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/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/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/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/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ChunkCreator.ChunkType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HRegion.FlushResult.Result</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/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/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/MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactionStrategy.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HRegion.FlushResult.Result</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/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/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
index f6fc79b..a4ab1b7 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
@@ -238,8 +238,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.Type.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">RingBufferTruck.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.html b/devapidocs/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.html
index 9a3e224..fe3a872 100644
--- a/devapidocs/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.html
+++ b/devapidocs/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.html
@@ -346,7 +346,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCop
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">post
 Balance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../or
 g/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../org
 /apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace<
 /a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.Obs
 erverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.h
 base.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coproces
 sor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a>, <a href="../../../../../o
 rg/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase
 /coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coproc
 essor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#pos
 tRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">postRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.h
 tml#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserv
 er.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apa
 che.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-long-">preAbortProcedure</a>, <a href="../..
 /../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../
 ../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">preDecommissionRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">pr
 eDeleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTable-org.apache.hadoop.hbase.cop
 rocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver
 .html#preGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetClusterMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coproce
 ssor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDecommissionedRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObser
 ver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-java.lang.String-">preLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsActio
 n</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apa
 che.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">preRecommissionRegionServer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html
 #preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">preRemoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">preRequestLock</a
 >, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuo
 taSettings-">preSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../org/apa
 che/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterMETAAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforeMETAAction-org.apache.hadoop.hbase.c
 oprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforeMETAAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.
 coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">post
 Balance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../or
 g/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../org
 /apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hado
 op.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../..
 /../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.Cluste
 rMetrics-">postGetClusterMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Li
 st-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapsho
 t-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescript
 or-">postModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apac
 he.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer
 </a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hb
 ase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">postRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apa
 che.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lan
 g.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <
 a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-long-">preAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.had
 oop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hb
 ase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">preDecommissionRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#
 preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTable</a>, <a href="../../../..
 /../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetClusterMetrics<
 /a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a h
 ref="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDecommissionedRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.c
 lient.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-java.lang.String-">preLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions
 CommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../or
 g/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMo
 veServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">preRecommissionRegionServer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRep
 licationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">preRemoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">preRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase
 .client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quot
 as.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>
 , <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterMETAAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforeMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforeMETAAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverCon
 text-">preStopMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hb
 ase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
 </ul>
 </li>
 </ul>
@@ -667,7 +667,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCop
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
-<dd><code>ns</code> - the NamespaceDescriptor</dd>
+<dd><code>ns</code> - after modify operation, namespace will have this descriptor</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html
index 3fd4061..188d432 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html
@@ -785,7 +785,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>runIncrementalPELoad</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.757">runIncrementalPELoad</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.762">runIncrementalPELoad</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.TableInfo&gt;&nbsp;tableInfo,
                                   org.apache.hadoop.fs.Path&nbsp;outDir,
                                   boolean&nbsp;putSortReducer)
@@ -806,7 +806,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testSerializeDeserializeFamilyCompressionMap</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.797">testSerializeDeserializeFamilyCompressionMap</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.802">testSerializeDeserializeFamilyCompressionMap</a>()
                                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Test for <code>HFileOutputFormat2#configureCompression(Configuration, HTableDescriptor)</code> and
  <code>HFileOutputFormat2.createFamilyCompressionMap(Configuration)</code>.
@@ -824,7 +824,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setupMockColumnFamiliesForCompression</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.823">setupMockColumnFamiliesForCompression</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.828">setupMockColumnFamiliesForCompression</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
                                                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.io.compress.Compression.Algorithm&gt;&nbsp;familyToCompression)
                                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -839,7 +839,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getMockColumnFamiliesForCompression</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.io.compress.Compression.Algorithm&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.841">getMockColumnFamiliesForCompression</a>(int&nbsp;numCfs)</pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.io.compress.Compression.Algorithm&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.846">getMockColumnFamiliesForCompression</a>(int&nbsp;numCfs)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>a map from column family names to compression algorithms for
@@ -853,7 +853,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testSerializeDeserializeFamilyBloomTypeMap</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.869">testSerializeDeserializeFamilyBloomTypeMap</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.874">testSerializeDeserializeFamilyBloomTypeMap</a>()
                                                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Test for <code>HFileOutputFormat2#configureBloomType(HTableDescriptor, Configuration)</code> and
  <code>HFileOutputFormat2.createFamilyBloomTypeMap(Configuration)</code>.
@@ -871,7 +871,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setupMockColumnFamiliesForBloomType</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.897">setupMockColumnFamiliesForBloomType</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.902">setupMockColumnFamiliesForBloomType</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
                                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.regionserver.BloomType&gt;&nbsp;familyToDataBlockEncoding)
                                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -886,7 +886,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getMockColumnFamiliesForBloomType</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.regionserver.BloomType&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.915">getMockColumnFamiliesForBloomType</a>(int&nbsp;numCfs)</pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.regionserver.BloomType&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.920">getMockColumnFamiliesForBloomType</a>(int&nbsp;numCfs)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>a map from column family names to compression algorithms for
@@ -900,7 +900,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testSerializeDeserializeFamilyBlockSizeMap</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.940">testSerializeDeserializeFamilyBlockSizeMap</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.945">testSerializeDeserializeFamilyBlockSizeMap</a>()
                                                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Test for <code>HFileOutputFormat2#configureBlockSize(HTableDescriptor, Configuration)</code> and
  <code>HFileOutputFormat2.createFamilyBlockSizeMap(Configuration)</code>.
@@ -918,7 +918,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setupMockColumnFamiliesForBlockSize</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.970">setupMockColumnFamiliesForBlockSize</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.975">setupMockColumnFamiliesForBlockSize</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
                                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;familyToDataBlockEncoding)
                                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -933,7 +933,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getMockColumnFamiliesForBlockSize</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.988">getMockColumnFamiliesForBlockSize</a>(int&nbsp;numCfs)</pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.993">getMockColumnFamiliesForBlockSize</a>(int&nbsp;numCfs)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>a map from column family names to compression algorithms for
@@ -947,7 +947,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testSerializeDeserializeFamilyDataBlockEncodingMap</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1017">testSerializeDeserializeFamilyDataBlockEncodingMap</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1022">testSerializeDeserializeFamilyDataBlockEncodingMap</a>()
                                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Test for <code>HFileOutputFormat2#configureDataBlockEncoding(HTableDescriptor, Configuration)</code>
  and <code>HFileOutputFormat2.createFamilyDataBlockEncodingMap(Configuration)</code>.
@@ -965,7 +965,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setupMockColumnFamiliesForDataBlockEncoding</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1047">setupMockColumnFamiliesForDataBlockEncoding</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1052">setupMockColumnFamiliesForDataBlockEncoding</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
                                                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.io.encoding.DataBlockEncoding&gt;&nbsp;familyToDataBlockEncoding)
                                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -980,7 +980,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getMockColumnFamiliesForDataBlockEncoding</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.io.encoding.DataBlockEncoding&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1065">getMockColumnFamiliesForDataBlockEncoding</a>(int&nbsp;numCfs)</pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,org.apache.hadoop.hbase.io.encoding.DataBlockEncoding&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1070">getMockColumnFamiliesForDataBlockEncoding</a>(int&nbsp;numCfs)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>a map from column family names to compression algorithms for
@@ -994,7 +994,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setupMockStartKeys</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1085">setupMockStartKeys</a>(org.apache.hadoop.hbase.client.RegionLocator&nbsp;table)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1090">setupMockStartKeys</a>(org.apache.hadoop.hbase.client.RegionLocator&nbsp;table)
                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1008,7 +1008,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setupMockTableName</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1095">setupMockTableName</a>(org.apache.hadoop.hbase.client.RegionLocator&nbsp;table)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1100">setupMockTableName</a>(org.apache.hadoop.hbase.client.RegionLocator&nbsp;table)
                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1022,7 +1022,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testColumnFamilySettings</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1105">testColumnFamilySettings</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1110">testColumnFamilySettings</a>()
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Test that <code>HFileOutputFormat2</code> RecordWriter uses compression and
  bloom filter settings from the column family descriptor</div>
@@ -1038,7 +1038,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRandomKeyValues</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1179">writeRandomKeyValues</a>(org.apache.hadoop.mapreduce.RecordWriter&lt;org.apache.hadoop.hbase.io.ImmutableBytesWritable,org.apache.hadoop.hbase.Cell&gt;&nbsp;writer,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1184">writeRandomKeyValues</a>(org.apache.hadoop.mapreduce.RecordWriter&lt;org.apache.hadoop.hbase.io.ImmutableBytesWritable,org.apache.hadoop.hbase.Cell&gt;&nbsp;writer,
                                   org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context,
                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt;&nbsp;families,
                                   int&nbsp;numRows)
@@ -1059,7 +1059,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testExcludeAllFromMinorCompaction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1210">testExcludeAllFromMinorCompaction</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1215">testExcludeAllFromMinorCompaction</a>()
                                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">This test is to test the scenario happened in HBASE-6901.
  All files are bulk loaded and excluded from minor compaction.
@@ -1077,7 +1077,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testExcludeMinorCompaction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1291">testExcludeMinorCompaction</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1296">testExcludeMinorCompaction</a>()
                                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1091,7 +1091,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>quickPoll</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1371">quickPoll</a>(<a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;c,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1376">quickPoll</a>(<a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;c,
                        int&nbsp;waitMs)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
@@ -1106,7 +1106,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1383">main</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1388">main</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1120,7 +1120,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>manualTest</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1387">manualTest</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1392">manualTest</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1134,7 +1134,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testBlockStoragePolicy</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1410">testBlockStoragePolicy</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1415">testBlockStoragePolicy</a>()
                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1148,7 +1148,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoragePolicyName</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1454">getStoragePolicyName</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1459">getStoragePolicyName</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                     org.apache.hadoop.fs.Path&nbsp;path)</pre>
 </li>
 </ul>
@@ -1158,7 +1158,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getStoragePolicyNameForOldHDFSVersion</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1468">getStoragePolicyNameForOldHDFSVersion</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat2.html#line.1473">getStoragePolicyNameForOldHDFSVersion</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                      org.apache.hadoop.fs.Path&nbsp;path)</pre>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/master/TestMasterCoprocessorServices.MockAccessController.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/TestMasterCoprocessorServices.MockAccessController.html b/testdevapidocs/org/apache/hadoop/hbase/master/TestMasterCoprocessorServices.MockAccessController.html
index 81a0a22..3549ffd 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/TestMasterCoprocessorServices.MockAccessController.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/TestMasterCoprocessorServices.MockAccessController.html
@@ -252,7 +252,7 @@ implements org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos.Access
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNam
 espace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction,
  preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConf
 ig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRe
 gionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableA
 ction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBef
 oreMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.coprocessor.RegionObserver">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/master/TestMasterCoprocessorServices.MockVisibilityController.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/TestMasterCoprocessorServices.MockVisibilityController.html b/testdevapidocs/org/apache/hadoop/hbase/master/TestMasterCoprocessorServices.MockVisibilityController.html
index 3d70150..090b460 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/TestMasterCoprocessorServices.MockVisibilityController.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/TestMasterCoprocessorServices.MockVisibilityController.html
@@ -258,7 +258,7 @@ implements org.apache.hadoop.hbase.protobuf.generated.VisibilityLabelsProtos.Vis
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNam
 espace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction,
  preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConf
 ig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRe
 gionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableA
 ction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBef
 oreMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.coprocessor.RegionObserver">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterObserverPostCalls.MasterObserverForTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterObserverPostCalls.MasterObserverForTest.html b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterObserverPostCalls.MasterObserverForTest.html
index 33693ce..b90ed32 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterObserverPostCalls.MasterObserverForTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/procedure/TestMasterObserverPostCalls.MasterObserverForTest.html
@@ -261,7 +261,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postDecommissionRegionServers, postDeleteSnapshot, postDisableReplicationPeer, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegi
 onOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors
 , preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postDecommissionRegionServers, postDeleteSnapshot, postDisableReplicationPeer, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyTable, postMove, postMoveServers, postMoveSe
 rversAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor,
  preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</
 code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.CPMasterObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.CPMasterObserver.html b/testdevapidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.CPMasterObserver.html
index 3d6f219..f0257d7 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.CPMasterObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.CPMasterObserver.html
@@ -229,7 +229,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNam
 espace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction,
  preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRe
 gionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableA
 ction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopM
 aster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.MasterSyncObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.MasterSyncObserver.html b/testdevapidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.MasterSyncObserver.html
index e1fb29f..bab1f77 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.MasterSyncObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.MasterSyncObserver.html
@@ -240,7 +240,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyTable, postMov
 e, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetP
 rocedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNam
 espace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction,
  preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTrun
 cateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/procedure/TestFailedProcCleanup.CreateFailObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure/TestFailedProcCleanup.CreateFailObserver.html b/testdevapidocs/org/apache/hadoop/hbase/procedure/TestFailedProcCleanup.CreateFailObserver.html
index 0808e27..1a76d64 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure/TestFailedProcCleanup.CreateFailObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure/TestFailedProcCleanup.CreateFailObserver.html
@@ -215,7 +215,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNam
 espace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMe
 trics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRe
 gionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnable
 ReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, p
 reStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/procedure/TestFailedProcCleanup.CreateFailObserverHandler.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure/TestFailedProcCleanup.CreateFailObserverHandler.html b/testdevapidocs/org/apache/hadoop/hbase/procedure/TestFailedProcCleanup.CreateFailObserverHandler.html
index de4cc1d..0e1e4cf 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure/TestFailedProcCleanup.CreateFailObserverHandler.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure/TestFailedProcCleanup.CreateFailObserverHandler.html
@@ -215,7 +215,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNam
 espace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics,
  preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRe
 gionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplic
 ationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStop
 Master, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html
index 28973e0..a1c9b1d 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html
@@ -81,14 +81,14 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.Procedure&lt;TEnvironment&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;)
+<li type="circle">org.apache.hadoop.hbase.procedure.Procedure (implements java.util.concurrent.<a href="https://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;, org.apache.hadoop.hbase.errorhandling.ForeignExceptionListener)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure.<a href="../../../../../org/apache/hadoop/hbase/procedure/TestProcedureDescriber.TestProcedure.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedureDescriber.TestProcedure</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure.<a href="../../../../../org/apache/hadoop/hbase/procedure/TestProcedure.LatchedProcedure.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedure.LatchedProcedure</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.hadoop.hbase.procedure.Procedure (implements java.util.concurrent.<a href="https://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;, org.apache.hadoop.hbase.errorhandling.ForeignExceptionListener)
+<li type="circle">org.apache.hadoop.hbase.procedure2.Procedure&lt;TEnvironment&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure.<a href="../../../../../org/apache/hadoop/hbase/procedure/TestProcedure.LatchedProcedure.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedure.LatchedProcedure</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure.<a href="../../../../../org/apache/hadoop/hbase/procedure/TestProcedureDescriber.TestProcedure.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedureDescriber.TestProcedure</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.hadoop.hbase.procedure.ProcedureManager


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironment.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironment.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironment.html
index 8b2674f..274eb54 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironment.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironment.html
@@ -262,1413 +262,1417 @@
 <span class="sourceLineNo">254</span>    });<a name="line.254"></a>
 <span class="sourceLineNo">255</span>  }<a name="line.255"></a>
 <span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>  public void preModifyNamespace(final NamespaceDescriptor ns) throws IOException {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      @Override<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      public void call(MasterObserver observer) throws IOException {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>        observer.preModifyNamespace(this, ns);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    });<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  }<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public void postModifyNamespace(final NamespaceDescriptor ns) throws IOException {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      @Override<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      public void call(MasterObserver observer) throws IOException {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        observer.postModifyNamespace(this, ns);<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>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  public void preGetNamespaceDescriptor(final String namespaceName)<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      throws IOException {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      @Override<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      public void call(MasterObserver observer) throws IOException {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        observer.preGetNamespaceDescriptor(this, namespaceName);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    });<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  }<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public void postGetNamespaceDescriptor(final NamespaceDescriptor ns)<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      throws IOException {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void call(MasterObserver observer) throws IOException {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        observer.postGetNamespaceDescriptor(this, ns);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    });<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  }<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>  public void preListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      throws IOException {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      @Override<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      public void call(MasterObserver observer) throws IOException {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        observer.preListNamespaceDescriptors(this, descriptors);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      }<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    });<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  public void postListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      throws IOException {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      @Override<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      public void call(MasterObserver observer) throws IOException {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        observer.postListNamespaceDescriptors(this, descriptors);<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><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  /* Implementation of hooks for invoking MasterObservers */<a name="line.315"></a>
+<span class="sourceLineNo">257</span>  public void preModifyNamespace(final NamespaceDescriptor currentNsDescriptor,<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    final NamespaceDescriptor newNsDescriptor) throws IOException {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      @Override<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      public void call(MasterObserver observer) throws IOException {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        observer.preModifyNamespace(this, currentNsDescriptor, newNsDescriptor);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      }<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    });<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  public void postModifyNamespace(final NamespaceDescriptor oldNsDescriptor,<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    final NamespaceDescriptor currentNsDescriptor) throws IOException {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      @Override<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      public void call(MasterObserver observer) throws IOException {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>        observer.postModifyNamespace(this, oldNsDescriptor, currentNsDescriptor);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      }<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    });<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  }<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>  public void preGetNamespaceDescriptor(final String namespaceName)<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      throws IOException {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      @Override<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      public void call(MasterObserver observer) throws IOException {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        observer.preGetNamespaceDescriptor(this, namespaceName);<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>  public void postGetNamespaceDescriptor(final NamespaceDescriptor ns)<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      throws IOException {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      @Override<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      public void call(MasterObserver observer) throws IOException {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>        observer.postGetNamespaceDescriptor(this, ns);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      }<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    });<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>  public void preListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.297"></a>
+<span class="sourceLineNo">298</span>      throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      @Override<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      public void call(MasterObserver observer) throws IOException {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>        observer.preListNamespaceDescriptors(this, descriptors);<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    });<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>  public void postListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      throws IOException {<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      @Override<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      public void call(MasterObserver observer) throws IOException {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        observer.postListNamespaceDescriptors(this, descriptors);<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      }<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    });<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
 <span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  public void preCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      throws IOException {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      @Override<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      public void call(MasterObserver observer) throws IOException {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        observer.preCreateTable(this, htd, regions);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    });<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public void postCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      @Override<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      public void call(MasterObserver observer) throws IOException {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>        observer.postCreateTable(this, htd, regions);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      }<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    });<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  }<a name="line.335"></a>
-<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public void preCreateTableAction(final TableDescriptor htd, final RegionInfo[] regions,<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      final User user) throws IOException {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      public void call(MasterObserver observer) throws IOException {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>        observer.preCreateTableAction(this, htd, regions);<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>  }<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>  public void postCompletedCreateTableAction(<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      final TableDescriptor htd, final RegionInfo[] regions, final User user) throws IOException {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      public void call(MasterObserver observer) throws IOException {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>        observer.postCompletedCreateTableAction(this, htd, regions);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    });<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  }<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>  public void preDeleteTable(final TableName tableName) throws IOException {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      @Override<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      public void call(MasterObserver observer) throws IOException {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        observer.preDeleteTable(this, tableName);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    });<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
-<span class="sourceLineNo">365</span><a name="line.365"></a>
-<span class="sourceLineNo">366</span>  public void postDeleteTable(final TableName tableName) throws IOException {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      public void call(MasterObserver observer) throws IOException {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        observer.postDeleteTable(this, tableName);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      }<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    });<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public void preDeleteTableAction(final TableName tableName, final User user) throws IOException {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      @Override<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      public void call(MasterObserver observer) throws IOException {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        observer.preDeleteTableAction(this, tableName);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    });<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  public void postCompletedDeleteTableAction(final TableName tableName, final User user)<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      throws IOException {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      @Override<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      public void call(MasterObserver observer) throws IOException {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>        observer.postCompletedDeleteTableAction(this, tableName);<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>  public void preTruncateTable(final TableName tableName) throws IOException {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      @Override<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      public void call(MasterObserver observer) throws IOException {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        observer.preTruncateTable(this, tableName);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      }<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    });<a name="line.400"></a>
-<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
-<span class="sourceLineNo">402</span><a name="line.402"></a>
-<span class="sourceLineNo">403</span>  public void postTruncateTable(final TableName tableName) throws IOException {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      public void call(MasterObserver observer) throws IOException {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        observer.postTruncateTable(this, tableName);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      }<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    });<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  }<a name="line.410"></a>
-<span class="sourceLineNo">411</span><a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public void preTruncateTableAction(final TableName tableName, final User user)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      throws IOException {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      @Override<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      public void call(MasterObserver observer) throws IOException {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        observer.preTruncateTableAction(this, tableName);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      }<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    });<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  public void postCompletedTruncateTableAction(final TableName tableName, final User user)<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      throws IOException {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      public void call(MasterObserver observer) throws IOException {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        observer.postCompletedTruncateTableAction(this, tableName);<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      }<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    });<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public void preModifyTable(final TableName tableName, final TableDescriptor htd)<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      throws IOException {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      @Override<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      public void call(MasterObserver observer) throws IOException {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        observer.preModifyTable(this, tableName, htd);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    });<a name="line.439"></a>
-<span class="sourceLineNo">440</span>  }<a name="line.440"></a>
-<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public void postModifyTable(final TableName tableName, final TableDescriptor htd)<a name="line.442"></a>
-<span class="sourceLineNo">443</span>      throws IOException {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      public void call(MasterObserver observer) throws IOException {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        observer.postModifyTable(this, tableName, htd);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      }<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    });<a name="line.449"></a>
-<span class="sourceLineNo">450</span>  }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public void preModifyTableAction(final TableName tableName, final TableDescriptor htd,<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      final User user) throws IOException {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      @Override<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      public void call(MasterObserver observer) throws IOException {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        observer.preModifyTableAction(this, tableName, htd);<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>  }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span>  public void postCompletedModifyTableAction(final TableName tableName, final TableDescriptor htd,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      final User user) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      @Override<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      public void call(MasterObserver observer) throws IOException {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>        observer.postCompletedModifyTableAction(this, tableName, htd);<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      }<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    });<a name="line.469"></a>
-<span class="sourceLineNo">470</span>  }<a name="line.470"></a>
-<span class="sourceLineNo">471</span><a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public void preEnableTable(final TableName tableName) throws IOException {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      @Override<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      public void call(MasterObserver observer) throws IOException {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        observer.preEnableTable(this, tableName);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      }<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    });<a name="line.478"></a>
-<span class="sourceLineNo">479</span>  }<a name="line.479"></a>
-<span class="sourceLineNo">480</span><a name="line.480"></a>
-<span class="sourceLineNo">481</span>  public void postEnableTable(final TableName tableName) throws IOException {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      @Override<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      public void call(MasterObserver observer) throws IOException {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>        observer.postEnableTable(this, tableName);<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>  public void preEnableTableAction(final TableName tableName, final User user) throws IOException {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      @Override<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      public void call(MasterObserver observer) throws IOException {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        observer.preEnableTableAction(this, tableName);<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    });<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  }<a name="line.497"></a>
-<span class="sourceLineNo">498</span><a name="line.498"></a>
-<span class="sourceLineNo">499</span>  public void postCompletedEnableTableAction(final TableName tableName, final User user)<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      throws IOException {<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      @Override<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      public void call(MasterObserver observer) throws IOException {<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        observer.postCompletedEnableTableAction(this, tableName);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      }<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    });<a name="line.506"></a>
-<span class="sourceLineNo">507</span>  }<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>  public void preDisableTable(final TableName tableName) throws IOException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      @Override<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      public void call(MasterObserver observer) throws IOException {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        observer.preDisableTable(this, tableName);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    });<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>  public void postDisableTable(final TableName tableName) throws IOException {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      @Override<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      public void call(MasterObserver observer) throws IOException {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        observer.postDisableTable(this, tableName);<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      }<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    });<a name="line.524"></a>
-<span class="sourceLineNo">525</span>  }<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public void preDisableTableAction(final TableName tableName, final User user) throws IOException {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      public void call(MasterObserver observer) throws IOException {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        observer.preDisableTableAction(this, tableName);<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 name="line.535"></a>
-<span class="sourceLineNo">536</span>  public void postCompletedDisableTableAction(final TableName tableName, final User user)<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      throws IOException {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>      public void call(MasterObserver observer) throws IOException {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        observer.postCompletedDisableTableAction(this, tableName);<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><a name="line.545"></a>
-<span class="sourceLineNo">546</span>  public void preAbortProcedure(<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      final ProcedureExecutor&lt;MasterProcedureEnv&gt; procEnv,<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      final long procId) throws IOException {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      @Override<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      public void call(MasterObserver observer) throws IOException {<a name="line.551"></a>
-<span class="sourceLineNo">552</span>        observer.preAbortProcedure(this,  procId);<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>  public void postAbortProcedure() throws IOException {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>      @Override<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      public void call(MasterObserver observer) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>        observer.postAbortProcedure(this);<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      }<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    });<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  }<a name="line.564"></a>
-<span class="sourceLineNo">565</span><a name="line.565"></a>
-<span class="sourceLineNo">566</span>  public void preGetProcedures() throws IOException {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      @Override<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      public void call(MasterObserver observer) throws IOException {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>        observer.preGetProcedures(this);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>      }<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    });<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  }<a name="line.573"></a>
-<span class="sourceLineNo">574</span><a name="line.574"></a>
-<span class="sourceLineNo">575</span>  public void postGetProcedures(final List&lt;Procedure&lt;?&gt;&gt; procInfoList) throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      public void call(MasterObserver observer) throws IOException {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>        observer.postGetProcedures(this);<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>  public void preGetLocks() throws IOException {<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      @Override<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      public void call(MasterObserver observer) throws IOException {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        observer.preGetLocks(this);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    });<a name="line.590"></a>
-<span class="sourceLineNo">591</span>  }<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>  public void postGetLocks(final List&lt;LockedResource&gt; lockedResources) throws IOException {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      @Override<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      public void call(MasterObserver observer) throws IOException {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        observer.postGetLocks(this);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      }<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    });<a name="line.599"></a>
-<span class="sourceLineNo">600</span>  }<a name="line.600"></a>
-<span class="sourceLineNo">601</span><a name="line.601"></a>
-<span class="sourceLineNo">602</span>  public void preMove(final RegionInfo region, final ServerName srcServer,<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      final ServerName destServer) throws IOException {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.604"></a>
-<span class="sourceLineNo">605</span>      @Override<a name="line.605"></a>
-<span class="sourceLineNo">606</span>      public void call(MasterObserver observer) throws IOException {<a name="line.606"></a>
-<span class="sourceLineNo">607</span>        observer.preMove(this, region, srcServer, destServer);<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      }<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    });<a name="line.609"></a>
-<span class="sourceLineNo">610</span>  }<a name="line.610"></a>
-<span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>  public void postMove(final RegionInfo region, final ServerName srcServer,<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      final ServerName destServer) throws IOException {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      @Override<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      public void call(MasterObserver observer) throws IOException {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>        observer.postMove(this, region, srcServer, destServer);<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>  }<a name="line.620"></a>
-<span class="sourceLineNo">621</span><a name="line.621"></a>
-<span class="sourceLineNo">622</span>  public void preAssign(final RegionInfo regionInfo) throws IOException {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      @Override<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      public void call(MasterObserver observer) throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>        observer.preAssign(this, regionInfo);<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>  public void postAssign(final RegionInfo regionInfo) throws IOException {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.632"></a>
-<span class="sourceLineNo">633</span>      @Override<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      public void call(MasterObserver observer) throws IOException {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        observer.postAssign(this, regionInfo);<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>  }<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>  public void preUnassign(final RegionInfo regionInfo, final boolean force)<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      throws IOException {<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      @Override<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      public void call(MasterObserver observer) throws IOException {<a name="line.644"></a>
-<span class="sourceLineNo">645</span>        observer.preUnassign(this, regionInfo, force);<a name="line.645"></a>
-<span class="sourceLineNo">646</span>      }<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    });<a name="line.647"></a>
-<span class="sourceLineNo">648</span>  }<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span>  public void postUnassign(final RegionInfo regionInfo, final boolean force) throws IOException {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      @Override<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      public void call(MasterObserver observer) throws IOException {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        observer.postUnassign(this, regionInfo, force);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>      }<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    });<a name="line.656"></a>
-<span class="sourceLineNo">657</span>  }<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>  public void preRegionOffline(final RegionInfo regionInfo) throws IOException {<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      @Override<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      public void call(MasterObserver observer) throws IOException {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        observer.preRegionOffline(this, regionInfo);<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      }<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    });<a name="line.665"></a>
-<span class="sourceLineNo">666</span>  }<a name="line.666"></a>
-<span class="sourceLineNo">667</span><a name="line.667"></a>
-<span class="sourceLineNo">668</span>  public void postRegionOffline(final RegionInfo regionInfo) throws IOException {<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      @Override<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      public void call(MasterObserver observer) throws IOException {<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        observer.postRegionOffline(this, regionInfo);<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      }<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    });<a name="line.674"></a>
-<span class="sourceLineNo">675</span>  }<a name="line.675"></a>
-<span class="sourceLineNo">676</span><a name="line.676"></a>
-<span class="sourceLineNo">677</span>  public void preMergeRegions(final RegionInfo[] regionsToMerge)<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      throws IOException {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      @Override<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      public void call(MasterObserver observer) throws IOException {<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        observer.preMergeRegions(this, regionsToMerge);<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>  }<a name="line.685"></a>
-<span class="sourceLineNo">686</span><a name="line.686"></a>
-<span class="sourceLineNo">687</span>  public void postMergeRegions(final RegionInfo[] regionsToMerge)<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throws IOException {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      @Override<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      public void call(MasterObserver observer) throws IOException {<a name="line.691"></a>
-<span class="sourceLineNo">692</span>        observer.postMergeRegions(this, regionsToMerge);<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><a name="line.696"></a>
-<span class="sourceLineNo">697</span>  public boolean preBalance() throws IOException {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      @Override<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      public void call(MasterObserver observer) throws IOException {<a name="line.700"></a>
-<span class="sourceLineNo">701</span>        observer.preBalance(this);<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      }<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    });<a name="line.703"></a>
-<span class="sourceLineNo">704</span>  }<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>  public void postBalance(final List&lt;RegionPlan&gt; plans) throws IOException {<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      @Override<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      public void call(MasterObserver observer) throws IOException {<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        observer.postBalance(this, plans);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      }<a name="line.711"></a>
-<span class="sourceLineNo">712</span>    });<a name="line.712"></a>
-<span class="sourceLineNo">713</span>  }<a name="line.713"></a>
-<span class="sourceLineNo">714</span><a name="line.714"></a>
-<span class="sourceLineNo">715</span>  public void preSetSplitOrMergeEnabled(final boolean newValue,<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      final MasterSwitchType switchType) throws IOException {<a name="line.716"></a>
-<span class="sourceLineNo">717</span>    execOperation(coprocEnvironments.isEmpty()? null: new MasterObserverOperation() {<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      @Override<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      public void call(MasterObserver observer) throws IOException {<a name="line.719"></a>
-<span class="sourceLineNo">720</span>        observer.preSetSplitOrMergeEnabled(this, newValue, switchType);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      }<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    });<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  }<a name="line.723"></a>
-<span class="sourceLineNo">724</span><a name="line.724"></a>
-<span class="sourceLineNo">725</span>  public void postSetSplitOrMergeEnabled(final boolean newValue,<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      final MasterSwitchType switchType) throws IOException {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      @Override<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      public void call(MasterObserver observer) throws IOException {<a name="line.729"></a>
-<span class="sourceLineNo">730</span>        observer.postSetSplitOrMergeEnabled(this, newValue, switchType);<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    });<a name="line.732"></a>
-<span class="sourceLineNo">733</span>  }<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>   * Invoked just before calling the split region procedure<a name="line.736"></a>
-<span class="sourceLineNo">737</span>   * @param tableName the table where the region belongs to<a name="line.737"></a>
-<span class="sourceLineNo">738</span>   * @param splitRow the split point<a name="line.738"></a>
-<span class="sourceLineNo">739</span>   * @throws IOException<a name="line.739"></a>
-<span class="sourceLineNo">740</span>   */<a name="line.740"></a>
-<span class="sourceLineNo">741</span>  public void preSplitRegion(<a name="line.741"></a>
-<span class="sourceLineNo">742</span>      final TableName tableName,<a name="line.742"></a>
-<span class="sourceLineNo">743</span>      final byte[] splitRow) throws IOException {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      @Override<a name="line.745"></a>
-<span class="sourceLineNo">746</span>      public void call(MasterObserver observer) throws IOException {<a name="line.746"></a>
-<span class="sourceLineNo">747</span>        observer.preSplitRegion(this, tableName, splitRow);<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>  }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>  /**<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   * Invoked just before a split<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   * @param tableName the table where the region belongs to<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   * @param splitRow the split point<a name="line.755"></a>
-<span class="sourceLineNo">756</span>   * @param user the user<a name="line.756"></a>
-<span class="sourceLineNo">757</span>   * @throws IOException<a name="line.757"></a>
-<span class="sourceLineNo">758</span>   */<a name="line.758"></a>
-<span class="sourceLineNo">759</span>  public void preSplitRegionAction(<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      final TableName tableName,<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      final byte[] splitRow,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      final User user) throws IOException {<a name="line.762"></a>
-<span class="sourceLineNo">763</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      @Override<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      public void call(MasterObserver observer) throws IOException {<a name="line.765"></a>
-<span class="sourceLineNo">766</span>        observer.preSplitRegionAction(this, tableName, splitRow);<a name="line.766"></a>
-<span class="sourceLineNo">767</span>      }<a name="line.767"></a>
-<span class="sourceLineNo">768</span>    });<a name="line.768"></a>
-<span class="sourceLineNo">769</span>  }<a name="line.769"></a>
-<span class="sourceLineNo">770</span><a name="line.770"></a>
-<span class="sourceLineNo">771</span>  /**<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   * Invoked just after a split<a name="line.772"></a>
-<span class="sourceLineNo">773</span>   * @param regionInfoA the new left-hand daughter region<a name="line.773"></a>
-<span class="sourceLineNo">774</span>   * @param regionInfoB the new right-hand daughter region<a name="line.774"></a>
-<span class="sourceLineNo">775</span>   * @param user the user<a name="line.775"></a>
-<span class="sourceLineNo">776</span>   * @throws IOException<a name="line.776"></a>
-<span class="sourceLineNo">777</span>   */<a name="line.777"></a>
-<span class="sourceLineNo">778</span>  public void postCompletedSplitRegionAction(<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      final RegionInfo regionInfoA,<a name="line.779"></a>
-<span class="sourceLineNo">780</span>      final RegionInfo regionInfoB,<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      final User user) throws IOException {<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.782"></a>
-<span class="sourceLineNo">783</span>      @Override<a name="line.783"></a>
-<span class="sourceLineNo">784</span>      public void call(MasterObserver observer) throws IOException {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>        observer.postCompletedSplitRegionAction(this, regionInfoA, regionInfoB);<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      }<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    });<a name="line.787"></a>
-<span class="sourceLineNo">788</span>  }<a name="line.788"></a>
-<span class="sourceLineNo">789</span><a name="line.789"></a>
-<span class="sourceLineNo">790</span>  /**<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   * This will be called before update META step as part of split table region procedure.<a name="line.791"></a>
-<span class="sourceLineNo">792</span>   * @param splitKey<a name="line.792"></a>
-<span class="sourceLineNo">793</span>   * @param metaEntries<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * @param user the user<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   * @throws IOException<a name="line.795"></a>
-<span class="sourceLineNo">796</span>   */<a name="line.796"></a>
-<span class="sourceLineNo">797</span>  public void preSplitBeforeMETAAction(<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      final byte[] splitKey,<a name="line.798"></a>
-<span class="sourceLineNo">799</span>      final List&lt;Mutation&gt; metaEntries,<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      final User user) throws IOException {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      @Override<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      public void call(MasterObserver observer) throws IOException {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        observer.preSplitRegionBeforeMETAAction(this, splitKey, metaEntries);<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      }<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    });<a name="line.806"></a>
-<span class="sourceLineNo">807</span>  }<a name="line.807"></a>
-<span class="sourceLineNo">808</span><a name="line.808"></a>
-<span class="sourceLineNo">809</span>  /**<a name="line.809"></a>
-<span class="sourceLineNo">810</span>   * This will be called after update META step as part of split table region procedure.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>   * @param user the user<a name="line.811"></a>
-<span class="sourceLineNo">812</span>   * @throws IOException<a name="line.812"></a>
-<span class="sourceLineNo">813</span>   */<a name="line.813"></a>
-<span class="sourceLineNo">814</span>  public void preSplitAfterMETAAction(final User user) throws IOException {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.815"></a>
-<span class="sourceLineNo">816</span>      @Override<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      public void call(MasterObserver observer) throws IOException {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        observer.preSplitRegionAfterMETAAction(this);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>      }<a name="line.819"></a>
-<span class="sourceLineNo">820</span>    });<a name="line.820"></a>
-<span class="sourceLineNo">821</span>  }<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>  /**<a name="line.823"></a>
-<span class="sourceLineNo">824</span>   * Invoked just after the rollback of a failed split<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   * @param user the user<a name="line.825"></a>
-<span class="sourceLineNo">826</span>   * @throws IOException<a name="line.826"></a>
-<span class="sourceLineNo">827</span>   */<a name="line.827"></a>
-<span class="sourceLineNo">828</span>  public void postRollBackSplitRegionAction(final User user) throws IOException {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      @Override<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      public void call(MasterObserver observer) throws IOException {<a name="line.831"></a>
-<span class="sourceLineNo">832</span>        observer.postRollBackSplitRegionAction(this);<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      }<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    });<a name="line.834"></a>
-<span class="sourceLineNo">835</span>  }<a name="line.835"></a>
-<span class="sourceLineNo">836</span><a name="line.836"></a>
-<span class="sourceLineNo">837</span>  /**<a name="line.837"></a>
-<span class="sourceLineNo">838</span>   * Invoked just before a merge<a name="line.838"></a>
-<span class="sourceLineNo">839</span>   * @param regionsToMerge the regions to merge<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * @param user the user<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * @throws IOException<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public void preMergeRegionsAction(<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      final RegionInfo[] regionsToMerge, final User user) throws IOException {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>      @Override<a name="line.846"></a>
-<span class="sourceLineNo">847</span>      public void call(MasterObserver observer) throws IOException {<a name="line.847"></a>
-<span class="sourceLineNo">848</span>        observer.preMergeRegionsAction(this, regionsToMerge);<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      }<a name="line.849"></a>
-<span class="sourceLineNo">850</span>    });<a name="line.850"></a>
-<span class="sourceLineNo">851</span>  }<a name="line.851"></a>
-<span class="sourceLineNo">852</span><a name="line.852"></a>
-<span class="sourceLineNo">853</span>  /**<a name="line.853"></a>
-<span class="sourceLineNo">854</span>   * Invoked after completing merge regions operation<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   * @param regionsToMerge the regions to merge<a name="line.855"></a>
-<span class="sourceLineNo">856</span>   * @param mergedRegion the new merged region<a name="line.856"></a>
-<span class="sourceLineNo">857</span>   * @param user the user<a name="line.857"></a>
-<span class="sourceLineNo">858</span>   * @throws IOException<a name="line.858"></a>
-<span class="sourceLineNo">859</span>   */<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  public void postCompletedMergeRegionsAction(<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      final RegionInfo[] regionsToMerge,<a name="line.861"></a>
-<span class="sourceLineNo">862</span>      final RegionInfo mergedRegion,<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      final User user) throws IOException {<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      @Override<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      public void call(MasterObserver observer) throws IOException {<a name="line.866"></a>
-<span class="sourceLineNo">867</span>        observer.postCompletedMergeRegionsAction(this, regionsToMerge, mergedRegion);<a name="line.867"></a>
-<span class="sourceLineNo">868</span>      }<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    });<a name="line.869"></a>
-<span class="sourceLineNo">870</span>  }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>  /**<a name="line.872"></a>
-<span class="sourceLineNo">873</span>   * Invoked before merge regions operation writes the new region to hbase:meta<a name="line.873"></a>
-<span class="sourceLineNo">874</span>   * @param regionsToMerge the regions to merge<a name="line.874"></a>
-<span class="sourceLineNo">875</span>   * @param metaEntries the meta entry<a name="line.875"></a>
-<span class="sourceLineNo">876</span>   * @param user the user<a name="line.876"></a>
-<span class="sourceLineNo">877</span>   * @throws IOException<a name="line.877"></a>
-<span class="sourceLineNo">878</span>   */<a name="line.878"></a>
-<span class="sourceLineNo">879</span>  public void preMergeRegionsCommit(<a name="line.879"></a>
-<span class="sourceLineNo">880</span>      final RegionInfo[] regionsToMerge,<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      final @MetaMutationAnnotation List&lt;Mutation&gt; metaEntries,<a name="line.881"></a>
-<span class="sourceLineNo">882</span>      final User user) throws IOException {<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      @Override<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      public void call(MasterObserver observer) throws IOException {<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        observer.preMergeRegionsCommitAction(this, regionsToMerge, metaEntries);<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      }<a name="line.887"></a>
-<span class="sourceLineNo">888</span>    });<a name="line.888"></a>
-<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
-<span class="sourceLineNo">890</span><a name="line.890"></a>
-<span class="sourceLineNo">891</span>  /**<a name="line.891"></a>
-<span class="sourceLineNo">892</span>   * Invoked after merge regions operation writes the new region to hbase:meta<a name="line.892"></a>
-<span class="sourceLineNo">893</span>   * @param regionsToMerge the regions to merge<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   * @param mergedRegion the new merged region<a name="line.894"></a>
-<span class="sourceLineNo">895</span>   * @param user the user<a name="line.895"></a>
-<span class="sourceLineNo">896</span>   * @throws IOException<a name="line.896"></a>
-<span class="sourceLineNo">897</span>   */<a name="line.897"></a>
-<span class="sourceLineNo">898</span>  public void postMergeRegionsCommit(<a name="line.898"></a>
-<span class="sourceLineNo">899</span>      final RegionInfo[] regionsToMerge,<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      final RegionInfo mergedRegion,<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      final User user) throws IOException {<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.902"></a>
-<span class="sourceLineNo">903</span>      @Override<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      public void call(MasterObserver observer) throws IOException {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        observer.postMergeRegionsCommitAction(this, regionsToMerge, mergedRegion);<a name="line.905"></a>
-<span class="sourceLineNo">906</span>      }<a name="line.906"></a>
-<span class="sourceLineNo">907</span>    });<a name="line.907"></a>
-<span class="sourceLineNo">908</span>  }<a name="line.908"></a>
-<span class="sourceLineNo">909</span><a name="line.909"></a>
-<span class="sourceLineNo">910</span>  /**<a name="line.910"></a>
-<span class="sourceLineNo">911</span>   * Invoked after rollback merge regions operation<a name="line.911"></a>
-<span class="sourceLineNo">912</span>   * @param regionsToMerge the regions to merge<a name="line.912"></a>
-<span class="sourceLineNo">913</span>   * @param user the user<a name="line.913"></a>
-<span class="sourceLineNo">914</span>   * @throws IOException<a name="line.914"></a>
-<span class="sourceLineNo">915</span>   */<a name="line.915"></a>
-<span class="sourceLineNo">916</span>  public void postRollBackMergeRegionsAction(<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      final RegionInfo[] regionsToMerge, final User user) throws IOException {<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>      @Override<a name="line.919"></a>
-<span class="sourceLineNo">920</span>      public void call(MasterObserver observer) throws IOException {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>        observer.postRollBackMergeRegionsAction(this, regionsToMerge);<a name="line.921"></a>
-<span class="sourceLineNo">922</span>      }<a name="line.922"></a>
-<span class="sourceLineNo">923</span>    });<a name="line.923"></a>
-<span class="sourceLineNo">924</span>  }<a name="line.924"></a>
-<span class="sourceLineNo">925</span><a name="line.925"></a>
-<span class="sourceLineNo">926</span>  // This hook allows Coprocessor change value of balance switch.<a name="line.926"></a>
-<span class="sourceLineNo">927</span>  public void preBalanceSwitch(final boolean b) throws IOException {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>    if (this.coprocEnvironments.isEmpty()) {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span>    execOperation(new MasterObserverOperation() {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>      @Override<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      public void call(MasterObserver observer) throws IOException {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        observer.preBalanceSwitch(this, b);<a name="line.934"></a>
-<span class="sourceLineNo">935</span>      }<a name="line.935"></a>
-<span class="sourceLineNo">936</span>    });<a name="line.936"></a>
-<span class="sourceLineNo">937</span>  }<a name="line.937"></a>
-<span class="sourceLineNo">938</span><a name="line.938"></a>
-<span class="sourceLineNo">939</span>  public void postBalanceSwitch(final boolean oldValue, final boolean newValue)<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      throws IOException {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.941"></a>
-<span class="sourceLineNo">942</span>      @Override<a name="line.942"></a>
-<span class="sourceLineNo">943</span>      public void call(MasterObserver observer) throws IOException {<a name="line.943"></a>
-<span class="sourceLineNo">944</span>        observer.postBalanceSwitch(this, oldValue, newValue);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      }<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    });<a name="line.946"></a>
-<span class="sourceLineNo">947</span>  }<a name="line.947"></a>
-<span class="sourceLineNo">948</span><a name="line.948"></a>
-<span class="sourceLineNo">949</span>  public void preShutdown() throws IOException {<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    // While stopping the cluster all coprocessors method should be executed first then the<a name="line.950"></a>
-<span class="sourceLineNo">951</span>    // coprocessor should be cleaned up.<a name="line.951"></a>
-<span class="sourceLineNo">952</span>    if (coprocEnvironments.isEmpty()) {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    execShutdown(new MasterObserverOperation() {<a name="line.955"></a>
-<span class="sourceLineNo">956</span>      @Override<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      public void call(MasterObserver observer) throws IOException {<a name="line.957"></a>
-<span class="sourceLineNo">958</span>        observer.preShutdown(this);<a name="line.958"></a>
-<span class="sourceLineNo">959</span>      }<a name="line.959"></a>
+<span class="sourceLineNo">317</span>  /* Implementation of hooks for invoking MasterObservers */<a name="line.317"></a>
+<span class="sourceLineNo">318</span><a name="line.318"></a>
+<span class="sourceLineNo">319</span>  public void preCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      throws IOException {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      @Override<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      public void call(MasterObserver observer) throws IOException {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        observer.preCreateTable(this, htd, regions);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      }<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    });<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  public void postCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      throws IOException {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      public void call(MasterObserver observer) throws IOException {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>        observer.postCreateTable(this, htd, regions);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    });<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  }<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  public void preCreateTableAction(final TableDescriptor htd, final RegionInfo[] regions,<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      final User user) throws IOException {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>      @Override<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      public void call(MasterObserver observer) throws IOException {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        observer.preCreateTableAction(this, htd, regions);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      }<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    });<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  }<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>  public void postCompletedCreateTableAction(<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      final TableDescriptor htd, final RegionInfo[] regions, final User user) throws IOException {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      @Override<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      public void call(MasterObserver observer) throws IOException {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        observer.postCompletedCreateTableAction(this, htd, regions);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      }<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    });<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  public void preDeleteTable(final TableName tableName) throws IOException {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      @Override<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      public void call(MasterObserver observer) throws IOException {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        observer.preDeleteTable(this, tableName);<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><a name="line.367"></a>
+<span class="sourceLineNo">368</span>  public void postDeleteTable(final TableName tableName) throws IOException {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      @Override<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      public void call(MasterObserver observer) throws IOException {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>        observer.postDeleteTable(this, tableName);<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      }<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    });<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span>  public void preDeleteTableAction(final TableName tableName, final User user) throws IOException {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      @Override<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      public void call(MasterObserver observer) throws IOException {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>        observer.preDeleteTableAction(this, tableName);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    });<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  public void postCompletedDeleteTableAction(final TableName tableName, final User user)<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      throws IOException {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      @Override<a name="line.389"></a>
+<span class="sourceLineNo">390</span>      public void call(MasterObserver observer) throws IOException {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        observer.postCompletedDeleteTableAction(this, tableName);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    });<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
+<span class="sourceLineNo">395</span><a name="line.395"></a>
+<span class="sourceLineNo">396</span>  public void preTruncateTable(final TableName tableName) throws IOException {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      @Override<a name="line.398"></a>
+<span class="sourceLineNo">399</span>      public void call(MasterObserver observer) throws IOException {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        observer.preTruncateTable(this, tableName);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      }<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    });<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>  public void postTruncateTable(final TableName tableName) throws IOException {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      @Override<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      public void call(MasterObserver observer) throws IOException {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>        observer.postTruncateTable(this, tableName);<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    });<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>  public void preTruncateTableAction(final TableName tableName, final User user)<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      throws IOException {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.416"></a>
+<span class="sourceLineNo">417</span>      @Override<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      public void call(MasterObserver observer) throws IOException {<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        observer.preTruncateTableAction(this, tableName);<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      }<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    });<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
+<span class="sourceLineNo">423</span><a name="line.423"></a>
+<span class="sourceLineNo">424</span>  public void postCompletedTruncateTableAction(final TableName tableName, final User user)<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      throws IOException {<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      @Override<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      public void call(MasterObserver observer) throws IOException {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>        observer.postCompletedTruncateTableAction(this, tableName);<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      }<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    });<a name="line.431"></a>
+<span class="sourceLineNo">432</span>  }<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>  public void preModifyTable(final TableName tableName, final TableDescriptor currentDescriptor,<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    final TableDescriptor newDescriptor) throws IOException {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      @Override<a name="line.437"></a>
+<span class="sourceLineNo">438</span>      public void call(MasterObserver observer) throws IOException {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>        observer.preModifyTable(this, tableName, currentDescriptor, newDescriptor);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    });<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  }<a name="line.442"></a>
+<span class="sourceLineNo">443</span><a name="line.443"></a>
+<span class="sourceLineNo">444</span>  public void postModifyTable(final TableName tableName, final TableDescriptor oldDescriptor,<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    final TableDescriptor currentDescriptor) throws IOException {<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      @Override<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      public void call(MasterObserver observer) throws IOException {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>        observer.postModifyTable(this, tableName, oldDescriptor, currentDescriptor);<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><a name="line.453"></a>
+<span class="sourceLineNo">454</span>  public void preModifyTableAction(final TableName tableName,<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    final TableDescriptor currentDescriptor, final TableDescriptor newDescriptor, final User user)<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    throws IOException {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      @Override<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      public void call(MasterObserver observer) throws IOException {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>        observer.preModifyTableAction(this, tableName, currentDescriptor, newDescriptor);<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    });<a name="l

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html b/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
index 51a2cee..08907ec 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
@@ -316,8 +316,9 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">postCompletedModifyTableAction</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;htd,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">postCompletedModifyTableAction</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;oldDescriptor,
+                              <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor,
                               <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
 <tr id="i17" class="rowColor">
@@ -441,12 +442,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </tr>
 <tr id="i43" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;oldNsDescriptor,
+                   <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor)</code>&nbsp;</td>
 </tr>
 <tr id="i44" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</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;htd)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</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;oldDescriptor,
+               <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>&nbsp;</td>
 </tr>
 <tr id="i45" class="rowColor">
 <td class="colFirst"><code>void</code></td>
@@ -755,17 +758,20 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </tr>
 <tr id="i109" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor,
+                  <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;newNsDescriptor)</code>&nbsp;</td>
 </tr>
 <tr id="i110" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</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;htd)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</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;currentDescriptor,
+              <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor)</code>&nbsp;</td>
 </tr>
 <tr id="i111" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">preModifyTableAction</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;htd,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">preModifyTableAction</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;currentDescriptor,
+                    <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor,
                     <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
 <tr id="i112" class="altColor">
@@ -1101,13 +1107,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="preModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">
+<a name="preModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preModifyNamespace</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.257">preModifyNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.257">preModifyNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor,
+                               <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;newNsDescriptor)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1115,13 +1122,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="postModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">
+<a name="postModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postModifyNamespace</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.266">postModifyNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.267">postModifyNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;oldNsDescriptor,
+                                <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor)
                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1135,7 +1143,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preGetNamespaceDescriptor</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.275">preGetNamespaceDescriptor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.277">preGetNamespaceDescriptor</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespaceName)
                                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1149,7 +1157,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postGetNamespaceDescriptor</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.285">postGetNamespaceDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.287">postGetNamespaceDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)
                                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1163,7 +1171,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preListNamespaceDescriptors</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.295">preListNamespaceDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;descriptors)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.297">preListNamespaceDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;descriptors)
                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1177,7 +1185,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postListNamespaceDescriptors</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.305">postListNamespaceDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;descriptors)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.307">postListNamespaceDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;descriptors)
                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1191,7 +1199,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preCreateTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.317">preCreateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.319">preCreateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
                            <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regions)
                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1206,7 +1214,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postCreateTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.327">postCreateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.329">postCreateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
                             <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regions)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1221,7 +1229,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preCreateTableAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.337">preCreateTableAction</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.339">preCreateTableAction</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
                                  <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regions,
                                  <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1237,7 +1245,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postCompletedCreateTableAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.347">postCompletedCreateTableAction</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.349">postCompletedCreateTableAction</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
                                            <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regions,
                                            <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1253,7 +1261,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preDeleteTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.357">preDeleteTable</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/master/MasterCoprocessorHost.html#line.359">preDeleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1267,7 +1275,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postDeleteTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.366">postDeleteTable</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/master/MasterCoprocessorHost.html#line.368">postDeleteTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1281,7 +1289,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preDeleteTableAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.375">preDeleteTableAction</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/master/MasterCoprocessorHost.html#line.377">preDeleteTableAction</a>(<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/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1296,7 +1304,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postCompletedDeleteTableAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.384">postCompletedDeleteTableAction</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/master/MasterCoprocessorHost.html#line.386">postCompletedDeleteTableAction</a>(<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/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1311,7 +1319,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preTruncateTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.394">preTruncateTable</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/master/MasterCoprocessorHost.html#line.396">preTruncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1325,7 +1333,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postTruncateTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.403">postTruncateTable</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/master/MasterCoprocessorHost.html#line.405">postTruncateTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1339,7 +1347,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preTruncateTableAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.412">preTruncateTableAction</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/master/MasterCoprocessorHost.html#line.414">preTruncateTableAction</a>(<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/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1354,7 +1362,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postCompletedTruncateTableAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.422">postCompletedTruncateTableAction</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/master/MasterCoprocessorHost.html#line.424">postCompletedTruncateTableAction</a>(<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/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1363,14 +1371,15 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="preModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">
+<a name="preModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preModifyTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.432">preModifyTable</a>(<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;htd)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.434">preModifyTable</a>(<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;currentDescriptor,
+                           <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor)
                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1378,14 +1387,15 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="postModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">
+<a name="postModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postModifyTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.442">postModifyTable</a>(<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;htd)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.444">postModifyTable</a>(<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;oldDescriptor,
+                            <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1393,14 +1403,15 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="preModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">
+<a name="preModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>preModifyTableAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.452">preModifyTableAction</a>(<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;htd,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.454">preModifyTableAction</a>(<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;currentDescriptor,
+                                 <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor,
                                  <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1409,14 +1420,15 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 </dl>
 </li>
 </ul>
-<a name="postCompletedModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">
+<a name="postCompletedModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>postCompletedModifyTableAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.462">postCompletedModifyTableAction</a>(<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;htd,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.465">postCompletedModifyTableAction</a>(<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;oldDescriptor,
+                                           <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor,
                                            <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1431,7 +1443,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preEnableTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.472">preEnableTable</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/master/MasterCoprocessorHost.html#line.476">preEnableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1445,7 +1457,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postEnableTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.481">postEnableTable</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/master/MasterCoprocessorHost.html#line.485">postEnableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1459,7 +1471,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preEnableTableAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.490">preEnableTableAction</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/master/MasterCoprocessorHost.html#line.494">preEnableTableAction</a>(<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/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1474,7 +1486,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postCompletedEnableTableAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.499">postCompletedEnableTableAction</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/master/MasterCoprocessorHost.html#line.503">postCompletedEnableTableAction</a>(<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/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1489,7 +1501,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preDisableTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.509">preDisableTable</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/master/MasterCoprocessorHost.html#line.513">preDisableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1503,7 +1515,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postDisableTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.518">postDisableTable</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/master/MasterCoprocessorHost.html#line.522">postDisableTable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1517,7 +1529,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preDisableTableAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.527">preDisableTableAction</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/master/MasterCoprocessorHost.html#line.531">preDisableTableAction</a>(<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/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1532,7 +1544,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postCompletedDisableTableAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.536">postCompletedDisableTableAction</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/master/MasterCoprocessorHost.html#line.540">postCompletedDisableTableAction</a>(<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/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1547,7 +1559,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preAbortProcedure</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.546">preAbortProcedure</a>(<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;&nbsp;procEnv,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.550">preAbortProcedure</a>(<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;&nbsp;procEnv,
                               long&nbsp;procId)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1562,7 +1574,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postAbortProcedure</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.557">postAbortProcedure</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.561">postAbortProcedure</a>()
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1576,7 +1588,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preGetProcedures</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.566">preGetProcedures</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.570">preGetProcedures</a>()
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1590,7 +1602,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postGetProcedures</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.575">postGetProcedures</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;&nbsp;procInfoList)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.579">postGetProcedures</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;&nbsp;procInfoList)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1604,7 +1616,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preGetLocks</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.584">preGetLocks</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.588">preGetLocks</a>()
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1618,7 +1630,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postGetLocks</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.593">postGetLocks</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResource.html" title="class in org.apache.hadoop.hbase.procedure2">LockedResource</a>&gt;&nbsp;lockedResources)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.597">postGetLocks</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResource.html" title="class in org.apache.hadoop.hbase.procedure2">LockedResource</a>&gt;&nbsp;lockedResources)
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1632,7 +1644,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preMove</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.602">preMove</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.606">preMove</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
                     <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;srcServer,
                     <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;destServer)
              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1648,7 +1660,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postMove</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.612">postMove</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.616">postMove</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
                      <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;srcServer,
                      <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;destServer)
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1664,7 +1676,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preAssign</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.622">preAssign</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.626">preAssign</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1678,7 +1690,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postAssign</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.631">postAssign</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.635">postAssign</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1692,7 +1704,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preUnassign</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.640">preUnassign</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.644">preUnassign</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                         boolean&nbsp;force)
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1707,7 +1719,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postUnassign</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.650">postUnassign</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.654">postUnassign</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                          boolean&nbsp;force)
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1722,7 +1734,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preRegionOffline</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.659">preRegionOffline</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.663">preRegionOffline</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1736,7 +1748,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postRegionOffline</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.668">postRegionOffline</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.672">postRegionOffline</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1750,7 +1762,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preMergeRegions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.677">preMergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.681">preMergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1764,7 +1776,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postMergeRegions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.687">postMergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.691">postMergeRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1778,7 +1790,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preBalance</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.697">preBalance</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.701">preBalance</a>()
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1792,7 +1804,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postBalance</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.706">postBalance</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/RegionPlan.html" title="class in org.apache.hadoop.hbase.master">RegionPlan</a>&gt;&nbsp;plans)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.710">postBalance</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/master/RegionPlan.html" title="class in org.apache.hadoop.hbase.master">RegionPlan</a>&gt;&nbsp;plans)
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1806,7 +1818,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preSetSplitOrMergeEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.715">preSetSplitOrMergeEnabled</a>(boolean&nbsp;newValue,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.719">preSetSplitOrMergeEnabled</a>(boolean&nbsp;newValue,
                                       <a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a>&nbsp;switchType)
                                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1821,7 +1833,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postSetSplitOrMergeEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.725">postSetSplitOrMergeEnabled</a>(boolean&nbsp;newValue,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.729">postSetSplitOrMergeEnabled</a>(boolean&nbsp;newValue,
                                        <a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a>&nbsp;switchType)
                                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1836,7 +1848,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preSplitRegion</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.741">preSplitRegion</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/master/MasterCoprocessorHost.html#line.745">preSplitRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                            byte[]&nbsp;splitRow)
                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Invoked just before calling the split region procedure</div>
@@ -1855,7 +1867,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preSplitRegionAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.759">preSplitRegionAction</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/master/MasterCoprocessorHost.html#line.763">preSplitRegionAction</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                  byte[]&nbsp;splitRow,
                                  <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1876,7 +1888,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postCompletedSplitRegionAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.778">postCompletedSplitRegionAction</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfoA,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.782">postCompletedSplitRegionAction</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfoA,
                                            <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfoB,
                                            <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1897,7 +1909,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preSplitBeforeMETAAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.797">preSplitBeforeMETAAction</a>(byte[]&nbsp;splitKey,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.801">preSplitBeforeMETAAction</a>(byte[]&nbsp;splitKey,
                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;metaEntries,
                                      <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1918,7 +1930,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preSplitAfterMETAAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.814">preSplitAfterMETAAction</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.818">preSplitAfterMETAAction</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This will be called after update META step as part of split table region procedure.</div>
 <dl>
@@ -1935,7 +1947,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postRollBackSplitRegionAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.828">postRollBackSplitRegionAction</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.832">postRollBackSplitRegionAction</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Invoked just after the rollback of a failed split</div>
 <dl>
@@ -1952,7 +1964,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preMergeRegionsAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.843">preMergeRegionsAction</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.847">preMergeRegionsAction</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                                   <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Invoked just before a merge</div>
@@ -1971,7 +1983,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postCompletedMergeRegionsAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.860">postCompletedMergeRegionsAction</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.864">postCompletedMergeRegionsAction</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                                             <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion,
                                             <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1992,7 +2004,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preMergeRegionsCommit</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.879">preMergeRegionsCommit</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.883">preMergeRegionsCommit</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                                   <a href="../../../../../org/apache/hadoop/hbase/MetaMutationAnnotation.html" title="annotation in org.apache.hadoop.hbase">@MetaMutationAnnotation</a>
                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;metaEntries,
                                   <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
@@ -2014,7 +2026,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postMergeRegionsCommit</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.898">postMergeRegionsCommit</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.902">postMergeRegionsCommit</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                                    <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mergedRegion,
                                    <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -2035,7 +2047,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postRollBackMergeRegionsAction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.916">postRollBackMergeRegionsAction</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.920">postRollBackMergeRegionsAction</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
                                            <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
                                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Invoked after rollback merge regions operation</div>
@@ -2054,7 +2066,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preBalanceSwitch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.927">preBalanceSwitch</a>(boolean&nbsp;b)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.931">preBalanceSwitch</a>(boolean&nbsp;b)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2068,7 +2080,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postBalanceSwitch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.939">postBalanceSwitch</a>(boolean&nbsp;oldValue,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.943">postBalanceSwitch</a>(boolean&nbsp;oldValue,
                               boolean&nbsp;newValue)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -2083,7 +2095,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preShutdown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.949">preShutdown</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.953">preShutdown</a>()
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2097,7 +2109,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preStopMaster</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.968">preStopMaster</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.972">preStopMaster</a>()
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2111,7 +2123,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preMasterInitialization</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.987">preMasterInitialization</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.991">preMasterInitialization</a>()
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2125,7 +2137,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postStartMaster</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.996">postStartMaster</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1000">postStartMaster</a>()
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -2139,7 +2151,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>preSnapshot</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1005">preSnapshot</a>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1009">preSnapshot</a>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot,
                         <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;hTableDescriptor)
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -2154,7 +2166,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>postSnapshot</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1015">postSnapshot</a>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#line.1019">postSnapshot</a>(<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot,
                          <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;hTableDescriptor)
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title=

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
index 5404ea1..1812a55 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
@@ -35,901 +35,908 @@
 <span class="sourceLineNo">027</span>import java.net.InetSocketAddress;<a name="line.27"></a>
 <span class="sourceLineNo">028</span>import java.net.URLDecoder;<a name="line.28"></a>
 <span class="sourceLineNo">029</span>import java.net.URLEncoder;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.ArrayList;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Arrays;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.List;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.Map;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.Set;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.TreeMap;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.TreeSet;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.util.UUID;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.function.Function;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.stream.Collectors;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.commons.lang3.StringUtils;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.conf.Configuration;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.fs.FileSystem;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.fs.Path;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.Cell;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HConstants;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.TableName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.client.Put;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.Table;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.fs.HFileSystem;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.ImmutableBytesWritable;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.compress.Compression;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFileContext;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.io.hfile.HFileWriterImpl;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.regionserver.BloomType;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.regionserver.StoreFileWriter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.util.MapReduceExtendedCell;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.io.NullWritable;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.io.SequenceFile;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.io.Text;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.mapreduce.Job;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.mapreduce.OutputCommitter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.mapreduce.OutputFormat;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.mapreduce.RecordWriter;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.slf4j.Logger;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.slf4j.LoggerFactory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>/**<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * Writes HFiles. Passed Cells must arrive in order.<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * Writes current time as the sequence id for the file. Sets the major compacted<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * attribute on created @{link {@link HFile}s. Calling write(null,null) will forcibly roll<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * all HFiles being written.<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * &lt;p&gt;<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * Using this class as part of a MapReduce job is best done<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * using {@link #configureIncrementalLoad(Job, TableDescriptor, RegionLocator)}.<a name="line.103"></a>
-<span class="sourceLineNo">104</span> */<a name="line.104"></a>
-<span class="sourceLineNo">105</span>@InterfaceAudience.Public<a name="line.105"></a>
-<span class="sourceLineNo">106</span>public class HFileOutputFormat2<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    extends FileOutputFormat&lt;ImmutableBytesWritable, Cell&gt; {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  private static final Logger LOG = LoggerFactory.getLogger(HFileOutputFormat2.class);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  static class TableInfo {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    private TableDescriptor tableDesctiptor;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    private RegionLocator regionLocator;<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public TableInfo(TableDescriptor tableDesctiptor, RegionLocator regionLocator) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      this.tableDesctiptor = tableDesctiptor;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      this.regionLocator = regionLocator;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>    /**<a name="line.118"></a>
-<span class="sourceLineNo">119</span>     * The modification for the returned HTD doesn't affect the inner TD.<a name="line.119"></a>
-<span class="sourceLineNo">120</span>     * @return A clone of inner table descriptor<a name="line.120"></a>
-<span class="sourceLineNo">121</span>     * @deprecated use {@link #getTableDescriptor}<a name="line.121"></a>
-<span class="sourceLineNo">122</span>     */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    @Deprecated<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    public HTableDescriptor getHTableDescriptor() {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return new HTableDescriptor(tableDesctiptor);<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>    public TableDescriptor getTableDescriptor() {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      return tableDesctiptor;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    }<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>    public RegionLocator getRegionLocator() {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      return regionLocator;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  protected static final byte[] tableSeparator = Bytes.toBytes(";");<a name="line.137"></a>
-<span class="sourceLineNo">138</span><a name="line.138"></a>
-<span class="sourceLineNo">139</span>  protected static byte[] combineTableNameSuffix(byte[] tableName, byte[] suffix) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    return Bytes.add(tableName, tableSeparator, suffix);<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  // The following constants are private since these are used by<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  // HFileOutputFormat2 to internally transfer data between job setup and<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  // reducer run using conf.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  // These should not be changed by the client.<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  static final String COMPRESSION_FAMILIES_CONF_KEY =<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      "hbase.hfileoutputformat.families.compression";<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  static final String BLOOM_TYPE_FAMILIES_CONF_KEY =<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      "hbase.hfileoutputformat.families.bloomtype";<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  static final String BLOCK_SIZE_FAMILIES_CONF_KEY =<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      "hbase.mapreduce.hfileoutputformat.blocksize";<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  static final String DATABLOCK_ENCODING_FAMILIES_CONF_KEY =<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      "hbase.mapreduce.hfileoutputformat.families.datablock.encoding";<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  // This constant is public since the client can modify this when setting<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  // up their conf object and thus refer to this symbol.<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  // It is present for backwards compatibility reasons. Use it only to<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  // override the auto-detection of datablock encoding.<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  public static final String DATABLOCK_ENCODING_OVERRIDE_CONF_KEY =<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      "hbase.mapreduce.hfileoutputformat.datablock.encoding";<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>  /**<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * Keep locality while generating HFiles for bulkload. See HBASE-12596<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public static final String LOCALITY_SENSITIVE_CONF_KEY =<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      "hbase.bulkload.locality.sensitive.enabled";<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  private static final boolean DEFAULT_LOCALITY_SENSITIVE = true;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  static final String OUTPUT_TABLE_NAME_CONF_KEY =<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      "hbase.mapreduce.hfileoutputformat.table.name";<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  static final String MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY =<a name="line.171"></a>
-<span class="sourceLineNo">172</span>          "hbase.mapreduce.use.multi.table.hfileoutputformat";<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  public static final String STORAGE_POLICY_PROPERTY = HStore.BLOCK_STORAGE_POLICY_KEY;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public static final String STORAGE_POLICY_PROPERTY_CF_PREFIX = STORAGE_POLICY_PROPERTY + ".";<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @Override<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public RecordWriter&lt;ImmutableBytesWritable, Cell&gt; getRecordWriter(<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      final TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return createRecordWriter(context, this.getOutputCommitter(context));<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  protected static byte[] getTableNameSuffixedWithFamily(byte[] tableName, byte[] family) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    return combineTableNameSuffix(tableName, family);<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>  static &lt;V extends Cell&gt; RecordWriter&lt;ImmutableBytesWritable, V&gt;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      createRecordWriter(final TaskAttemptContext context, final OutputCommitter committer)<a name="line.188"></a>
-<span class="sourceLineNo">189</span>          throws IOException {<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>    // Get the path of the temporary output file<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    final Path outputDir = ((FileOutputCommitter)committer).getWorkPath();<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    final Configuration conf = context.getConfiguration();<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    final boolean writeMultipleTables = conf.getBoolean(MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY, false) ;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    final String writeTableNames = conf.get(OUTPUT_TABLE_NAME_CONF_KEY);<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    if (writeTableNames==null || writeTableNames.isEmpty()) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      throw new IllegalArgumentException("Configuration parameter " + OUTPUT_TABLE_NAME_CONF_KEY<a name="line.197"></a>
-<span class="sourceLineNo">198</span>              + " cannot be empty");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    }<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    final FileSystem fs = outputDir.getFileSystem(conf);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    // These configs. are from hbase-*.xml<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    final long maxsize = conf.getLong(HConstants.HREGION_MAX_FILESIZE,<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        HConstants.DEFAULT_MAX_FILE_SIZE);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    // Invented config.  Add to hbase-*.xml if other than default compression.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    final String defaultCompressionStr = conf.get("hfile.compression",<a name="line.205"></a>
-<span class="sourceLineNo">206</span>        Compression.Algorithm.NONE.getName());<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    final Algorithm defaultCompression = HFileWriterImpl<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        .compressionByName(defaultCompressionStr);<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    final boolean compactionExclude = conf.getBoolean(<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        "hbase.mapreduce.hfileoutputformat.compaction.exclude", false);<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    final Set&lt;String&gt; allTableNames = Arrays.stream(writeTableNames.split(<a name="line.212"></a>
-<span class="sourceLineNo">213</span>            Bytes.toString(tableSeparator))).collect(Collectors.toSet());<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // create a map from column family to the compression algorithm<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    final Map&lt;byte[], Algorithm&gt; compressionMap = createFamilyCompressionMap(conf);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    final Map&lt;byte[], BloomType&gt; bloomTypeMap = createFamilyBloomTypeMap(conf);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    final Map&lt;byte[], Integer&gt; blockSizeMap = createFamilyBlockSizeMap(conf);<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>    String dataBlockEncodingStr = conf.get(DATABLOCK_ENCODING_OVERRIDE_CONF_KEY);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    final Map&lt;byte[], DataBlockEncoding&gt; datablockEncodingMap<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        = createFamilyDataBlockEncodingMap(conf);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    final DataBlockEncoding overriddenEncoding;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    if (dataBlockEncodingStr != null) {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      overriddenEncoding = DataBlockEncoding.valueOf(dataBlockEncodingStr);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    } else {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      overriddenEncoding = null;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>    return new RecordWriter&lt;ImmutableBytesWritable, V&gt;() {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      // Map of families to writers and how much has been output on the writer.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      private final Map&lt;byte[], WriterLength&gt; writers =<a name="line.232"></a>
-<span class="sourceLineNo">233</span>              new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      private byte[] previousRow = HConstants.EMPTY_BYTE_ARRAY;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      private final long now = EnvironmentEdgeManager.currentTime();<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      private boolean rollRequested = false;<a name="line.236"></a>
-<span class="sourceLineNo">237</span><a name="line.237"></a>
-<span class="sourceLineNo">238</span>      @Override<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      public void write(ImmutableBytesWritable row, V cell)<a name="line.239"></a>
-<span class="sourceLineNo">240</span>          throws IOException {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        Cell kv = cell;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>        // null input == user explicitly wants to flush<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        if (row == null &amp;&amp; kv == null) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>          rollWriters(null);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>          return;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>        }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>        byte[] rowKey = CellUtil.cloneRow(kv);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        int length = (PrivateCellUtil.estimatedSerializedSizeOf(kv)) - Bytes.SIZEOF_INT;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        byte[] family = CellUtil.cloneFamily(kv);<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        byte[] tableNameBytes = null;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        if (writeMultipleTables) {<a name="line.252"></a>
-<span class="sourceLineNo">253</span>          tableNameBytes = MultiTableHFileOutputFormat.getTableName(row.get());<a name="line.253"></a>
-<span class="sourceLineNo">254</span>          if (!allTableNames.contains(Bytes.toString(tableNameBytes))) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>            throw new IllegalArgumentException("TableName '" + Bytes.toString(tableNameBytes) +<a name="line.255"></a>
-<span class="sourceLineNo">256</span>                    "' not" + " expected");<a name="line.256"></a>
-<span class="sourceLineNo">257</span>          }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        } else {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>          tableNameBytes = Bytes.toBytes(writeTableNames);<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        }<a name="line.260"></a>
-<span class="sourceLineNo">261</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        Path tableRelPath = getTableRelativePath(tableNameBytes);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableNameBytes, family);<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>        WriterLength wl = this.writers.get(tableAndFamily);<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>        // If this is a new column family, verify that the directory exists<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        if (wl == null) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>          Path writerPath = null;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          if (writeMultipleTables) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            writerPath = new Path(outputDir,new Path(tableRelPath, Bytes<a name="line.271"></a>
-<span class="sourceLineNo">272</span>                    .toString(family)));<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>          else {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>            writerPath = new Path(outputDir, Bytes.toString(family));<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          }<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          fs.mkdirs(writerPath);<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          configureStoragePolicy(conf, fs, tableAndFamily, writerPath);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        }<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>        if (wl != null &amp;&amp; wl.written + length &gt;= maxsize) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          this.rollRequested = true;<a name="line.283"></a>
+<span class="sourceLineNo">030</span>import java.nio.charset.Charset;<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.List;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Map;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.Set;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.TreeMap;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.TreeSet;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.UUID;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.function.Function;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.stream.Collectors;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.commons.lang3.StringUtils;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.conf.Configuration;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.fs.FileSystem;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.fs.Path;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.Cell;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HConstants;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.TableName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.client.Put;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.Table;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.fs.HFileSystem;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.ImmutableBytesWritable;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.compress.Compression;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileContext;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.io.hfile.HFileWriterImpl;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.regionserver.BloomType;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.regionserver.StoreFileWriter;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.util.MapReduceExtendedCell;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.io.NullWritable;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.io.SequenceFile;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.io.Text;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.mapreduce.Job;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.mapreduce.OutputCommitter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.mapreduce.OutputFormat;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.mapreduce.RecordWriter;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.slf4j.Logger;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.slf4j.LoggerFactory;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>/**<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * Writes HFiles. Passed Cells must arrive in order.<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * Writes current time as the sequence id for the file. Sets the major compacted<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * attribute on created @{link {@link HFile}s. Calling write(null,null) will forcibly roll<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * all HFiles being written.<a name="line.101"></a>
+<span class="sourceLineNo">102</span> * &lt;p&gt;<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * Using this class as part of a MapReduce job is best done<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * using {@link #configureIncrementalLoad(Job, TableDescriptor, RegionLocator)}.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>@InterfaceAudience.Public<a name="line.106"></a>
+<span class="sourceLineNo">107</span>public class HFileOutputFormat2<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    extends FileOutputFormat&lt;ImmutableBytesWritable, Cell&gt; {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  private static final Logger LOG = LoggerFactory.getLogger(HFileOutputFormat2.class);<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  static class TableInfo {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    private TableDescriptor tableDesctiptor;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    private RegionLocator regionLocator;<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>    public TableInfo(TableDescriptor tableDesctiptor, RegionLocator regionLocator) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      this.tableDesctiptor = tableDesctiptor;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      this.regionLocator = regionLocator;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>    /**<a name="line.119"></a>
+<span class="sourceLineNo">120</span>     * The modification for the returned HTD doesn't affect the inner TD.<a name="line.120"></a>
+<span class="sourceLineNo">121</span>     * @return A clone of inner table descriptor<a name="line.121"></a>
+<span class="sourceLineNo">122</span>     * @deprecated use {@link #getTableDescriptor}<a name="line.122"></a>
+<span class="sourceLineNo">123</span>     */<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    @Deprecated<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    public HTableDescriptor getHTableDescriptor() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      return new HTableDescriptor(tableDesctiptor);<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>    public TableDescriptor getTableDescriptor() {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      return tableDesctiptor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    }<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>    public RegionLocator getRegionLocator() {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      return regionLocator;<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><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  protected static final byte[] tableSeparator = Bytes.toBytes(";");<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span>  protected static byte[] combineTableNameSuffix(byte[] tableName, byte[] suffix) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    return Bytes.add(tableName, tableSeparator, suffix);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  // The following constants are private since these are used by<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  // HFileOutputFormat2 to internally transfer data between job setup and<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  // reducer run using conf.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  // These should not be changed by the client.<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  static final String COMPRESSION_FAMILIES_CONF_KEY =<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      "hbase.hfileoutputformat.families.compression";<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  static final String BLOOM_TYPE_FAMILIES_CONF_KEY =<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      "hbase.hfileoutputformat.families.bloomtype";<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  static final String BLOCK_SIZE_FAMILIES_CONF_KEY =<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      "hbase.mapreduce.hfileoutputformat.blocksize";<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  static final String DATABLOCK_ENCODING_FAMILIES_CONF_KEY =<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      "hbase.mapreduce.hfileoutputformat.families.datablock.encoding";<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  // This constant is public since the client can modify this when setting<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  // up their conf object and thus refer to this symbol.<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  // It is present for backwards compatibility reasons. Use it only to<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  // override the auto-detection of datablock encoding.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public static final String DATABLOCK_ENCODING_OVERRIDE_CONF_KEY =<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      "hbase.mapreduce.hfileoutputformat.datablock.encoding";<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>  /**<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * Keep locality while generating HFiles for bulkload. See HBASE-12596<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   */<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static final String LOCALITY_SENSITIVE_CONF_KEY =<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      "hbase.bulkload.locality.sensitive.enabled";<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  private static final boolean DEFAULT_LOCALITY_SENSITIVE = true;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  static final String OUTPUT_TABLE_NAME_CONF_KEY =<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      "hbase.mapreduce.hfileoutputformat.table.name";<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  static final String MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY =<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          "hbase.mapreduce.use.multi.table.hfileoutputformat";<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public static final String STORAGE_POLICY_PROPERTY = HStore.BLOCK_STORAGE_POLICY_KEY;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public static final String STORAGE_POLICY_PROPERTY_CF_PREFIX = STORAGE_POLICY_PROPERTY + ".";<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  @Override<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public RecordWriter&lt;ImmutableBytesWritable, Cell&gt; getRecordWriter(<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      final TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return createRecordWriter(context, this.getOutputCommitter(context));<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  }<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>  protected static byte[] getTableNameSuffixedWithFamily(byte[] tableName, byte[] family) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return combineTableNameSuffix(tableName, family);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>  static &lt;V extends Cell&gt; RecordWriter&lt;ImmutableBytesWritable, V&gt;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      createRecordWriter(final TaskAttemptContext context, final OutputCommitter committer)<a name="line.189"></a>
+<span class="sourceLineNo">190</span>          throws IOException {<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>    // Get the path of the temporary output file<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    final Path outputDir = ((FileOutputCommitter)committer).getWorkPath();<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    final Configuration conf = context.getConfiguration();<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    final boolean writeMultipleTables = conf.getBoolean(MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY, false) ;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    final String writeTableNames = conf.get(OUTPUT_TABLE_NAME_CONF_KEY);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    if (writeTableNames==null || writeTableNames.isEmpty()) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      throw new IllegalArgumentException("Configuration parameter " + OUTPUT_TABLE_NAME_CONF_KEY<a name="line.198"></a>
+<span class="sourceLineNo">199</span>              + " cannot be empty");<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    final FileSystem fs = outputDir.getFileSystem(conf);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    // These configs. are from hbase-*.xml<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    final long maxsize = conf.getLong(HConstants.HREGION_MAX_FILESIZE,<a name="line.203"></a>
+<span class="sourceLineNo">204</span>        HConstants.DEFAULT_MAX_FILE_SIZE);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    // Invented config.  Add to hbase-*.xml if other than default compression.<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    final String defaultCompressionStr = conf.get("hfile.compression",<a name="line.206"></a>
+<span class="sourceLineNo">207</span>        Compression.Algorithm.NONE.getName());<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    final Algorithm defaultCompression = HFileWriterImpl<a name="line.208"></a>
+<span class="sourceLineNo">209</span>        .compressionByName(defaultCompressionStr);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    final boolean compactionExclude = conf.getBoolean(<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        "hbase.mapreduce.hfileoutputformat.compaction.exclude", false);<a name="line.211"></a>
+<span class="sourceLineNo">212</span><a name="line.212"></a>
+<span class="sourceLineNo">213</span>    final Set&lt;String&gt; allTableNames = Arrays.stream(writeTableNames.split(<a name="line.213"></a>
+<span class="sourceLineNo">214</span>            Bytes.toString(tableSeparator))).collect(Collectors.toSet());<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>    // create a map from column family to the compression algorithm<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    final Map&lt;byte[], Algorithm&gt; compressionMap = createFamilyCompressionMap(conf);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    final Map&lt;byte[], BloomType&gt; bloomTypeMap = createFamilyBloomTypeMap(conf);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    final Map&lt;byte[], Integer&gt; blockSizeMap = createFamilyBlockSizeMap(conf);<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>    String dataBlockEncodingStr = conf.get(DATABLOCK_ENCODING_OVERRIDE_CONF_KEY);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    final Map&lt;byte[], DataBlockEncoding&gt; datablockEncodingMap<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        = createFamilyDataBlockEncodingMap(conf);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    final DataBlockEncoding overriddenEncoding;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    if (dataBlockEncodingStr != null) {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      overriddenEncoding = DataBlockEncoding.valueOf(dataBlockEncodingStr);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    } else {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      overriddenEncoding = null;<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return new RecordWriter&lt;ImmutableBytesWritable, V&gt;() {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      // Map of families to writers and how much has been output on the writer.<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      private final Map&lt;byte[], WriterLength&gt; writers =<a name="line.233"></a>
+<span class="sourceLineNo">234</span>              new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      private byte[] previousRow = HConstants.EMPTY_BYTE_ARRAY;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      private final long now = EnvironmentEdgeManager.currentTime();<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      private boolean rollRequested = false;<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>      @Override<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      public void write(ImmutableBytesWritable row, V cell)<a name="line.240"></a>
+<span class="sourceLineNo">241</span>          throws IOException {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        Cell kv = cell;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        // null input == user explicitly wants to flush<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        if (row == null &amp;&amp; kv == null) {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>          rollWriters(null);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>          return;<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>        byte[] rowKey = CellUtil.cloneRow(kv);<a name="line.249"></a>
+<span class="sourceLineNo">250</span>        int length = (PrivateCellUtil.estimatedSerializedSizeOf(kv)) - Bytes.SIZEOF_INT;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        byte[] family = CellUtil.cloneFamily(kv);<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        byte[] tableNameBytes = null;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        if (writeMultipleTables) {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>          tableNameBytes = MultiTableHFileOutputFormat.getTableName(row.get());<a name="line.254"></a>
+<span class="sourceLineNo">255</span>          tableNameBytes =<a name="line.255"></a>
+<span class="sourceLineNo">256</span>              TableName.valueOf(tableNameBytes).getNameWithNamespaceInclAsString()<a name="line.256"></a>
+<span class="sourceLineNo">257</span>              .getBytes(Charset.defaultCharset());<a name="line.257"></a>
+<span class="sourceLineNo">258</span>          if (!allTableNames.contains(Bytes.toString(tableNameBytes))) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>            throw new IllegalArgumentException("TableName '" + Bytes.toString(tableNameBytes) +<a name="line.259"></a>
+<span class="sourceLineNo">260</span>                    "' not" + " expected");<a name="line.260"></a>
+<span class="sourceLineNo">261</span>          }<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        } else {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>          tableNameBytes = Bytes.toBytes(writeTableNames);<a name="line.263"></a>
+<span class="sourceLineNo">264</span>        }<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        Path tableRelPath = getTableRelativePath(tableNameBytes);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableNameBytes, family);<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>        WriterLength wl = this.writers.get(tableAndFamily);<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>        // If this is a new column family, verify that the directory exists<a name="line.271"></a>
+<span class="sourceLineNo">272</span>        if (wl == null) {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>          Path writerPath = null;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>          if (writeMultipleTables) {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>            writerPath = new Path(outputDir,new Path(tableRelPath, Bytes<a name="line.275"></a>
+<span class="sourceLineNo">276</span>                    .toString(family)));<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>          else {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>            writerPath = new Path(outputDir, Bytes.toString(family));<a name="line.280"></a>
+<span class="sourceLineNo">281</span>          }<a name="line.281"></a>
+<span class="sourceLineNo">282</span>          fs.mkdirs(writerPath);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>          configureStoragePolicy(conf, fs, tableAndFamily, writerPath);<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>        // This can only happen once a row is finished though<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        if (rollRequested &amp;&amp; Bytes.compareTo(this.previousRow, rowKey) != 0) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>          rollWriters(wl);<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>        // create a new WAL writer, if necessary<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        if (wl == null || wl.writer == null) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          if (conf.getBoolean(LOCALITY_SENSITIVE_CONF_KEY, DEFAULT_LOCALITY_SENSITIVE)) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            HRegionLocation loc = null;<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>            if (tableName != null) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>              try (Connection connection = ConnectionFactory.createConnection(conf);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>                     RegionLocator locator =<a name="line.298"></a>
-<span class="sourceLineNo">299</span>                       connection.getRegionLocator(TableName.valueOf(tableName))) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>                loc = locator.getRegionLocation(rowKey);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>              } catch (Throwable e) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>                LOG.warn("There's something wrong when locating rowkey: " +<a name="line.302"></a>
-<span class="sourceLineNo">303</span>                  Bytes.toString(rowKey) + " for tablename: " + tableName, e);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>                loc = null;<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>            if (null == loc) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>              if (LOG.isTraceEnabled()) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>                LOG.trace("failed to get region location, so use default writer for rowkey: " +<a name="line.309"></a>
-<span class="sourceLineNo">310</span>                  Bytes.toString(rowKey));<a name="line.310"></a>
-<span class="sourceLineNo">311</span>              }<a name="line.311"></a>
-<span class="sourceLineNo">312</span>              wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>            } else {<a name="line.313"></a>
-<span class="sourceLineNo">314</span>              if (LOG.isDebugEnabled()) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>                LOG.debug("first rowkey: [" + Bytes.toString(rowKey) + "]");<a name="line.315"></a>
-<span class="sourceLineNo">316</span>              }<a name="line.316"></a>
-<span class="sourceLineNo">317</span>              InetSocketAddress initialIsa =<a name="line.317"></a>
-<span class="sourceLineNo">318</span>                  new InetSocketAddress(loc.getHostname(), loc.getPort());<a name="line.318"></a>
-<span class="sourceLineNo">319</span>              if (initialIsa.isUnresolved()) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>                if (LOG.isTraceEnabled()) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>                  LOG.trace("failed to resolve bind address: " + loc.getHostname() + ":"<a name="line.321"></a>
-<span class="sourceLineNo">322</span>                      + loc.getPort() + ", so use default writer");<a name="line.322"></a>
-<span class="sourceLineNo">323</span>                }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>                wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.324"></a>
-<span class="sourceLineNo">325</span>              } else {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>                if (LOG.isDebugEnabled()) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>                  LOG.debug("use favored nodes writer: " + initialIsa.getHostString());<a name="line.327"></a>
-<span class="sourceLineNo">328</span>                }<a name="line.328"></a>
-<span class="sourceLineNo">329</span>                wl = getNewWriter(tableNameBytes, family, conf, new InetSocketAddress[] { initialIsa<a name="line.329"></a>
-<span class="sourceLineNo">330</span>                });<a name="line.330"></a>
-<span class="sourceLineNo">331</span>              }<a name="line.331"></a>
-<span class="sourceLineNo">332</span>            }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>          } else {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>            wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>          }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>        }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>        // we now have the proper WAL writer. full steam ahead<a name="line.338"></a>
-<span class="sourceLineNo">339</span>        PrivateCellUtil.updateLatestStamp(cell, this.now);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        wl.writer.append(kv);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>        wl.written += length;<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>        // Copy the row so we know when a row transition.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        this.previousRow = rowKey;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      }<a name="line.345"></a>
+<span class="sourceLineNo">286</span>        if (wl != null &amp;&amp; wl.written + length &gt;= maxsize) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>          this.rollRequested = true;<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>        // This can only happen once a row is finished though<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        if (rollRequested &amp;&amp; Bytes.compareTo(this.previousRow, rowKey) != 0) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>          rollWriters(wl);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        }<a name="line.293"></a>
+<span class="sourceLineNo">294</span><a name="line.294"></a>
+<span class="sourceLineNo">295</span>        // create a new WAL writer, if necessary<a name="line.295"></a>
+<span class="sourceLineNo">296</span>        if (wl == null || wl.writer == null) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>          if (conf.getBoolean(LOCALITY_SENSITIVE_CONF_KEY, DEFAULT_LOCALITY_SENSITIVE)) {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>            HRegionLocation loc = null;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>            if (tableName != null) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>              try (Connection connection = ConnectionFactory.createConnection(conf);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>                     RegionLocator locator =<a name="line.302"></a>
+<span class="sourceLineNo">303</span>                       connection.getRegionLocator(TableName.valueOf(tableName))) {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>                loc = locator.getRegionLocation(rowKey);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>              } catch (Throwable e) {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>                LOG.warn("There's something wrong when locating rowkey: " +<a name="line.306"></a>
+<span class="sourceLineNo">307</span>                  Bytes.toString(rowKey) + " for tablename: " + tableName, e);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>                loc = null;<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>            if (null == loc) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>              if (LOG.isTraceEnabled()) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>                LOG.trace("failed to get region location, so use default writer for rowkey: " +<a name="line.313"></a>
+<span class="sourceLineNo">314</span>                  Bytes.toString(rowKey));<a name="line.314"></a>
+<span class="sourceLineNo">315</span>              }<a name="line.315"></a>
+<span class="sourceLineNo">316</span>              wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.316"></a>
+<span class="sourceLineNo">317</span>            } else {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>              if (LOG.isDebugEnabled()) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>                LOG.debug("first rowkey: [" + Bytes.toString(rowKey) + "]");<a name="line.319"></a>
+<span class="sourceLineNo">320</span>              }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>              InetSocketAddress initialIsa =<a name="line.321"></a>
+<span class="sourceLineNo">322</span>                  new InetSocketAddress(loc.getHostname(), loc.getPort());<a name="line.322"></a>
+<span class="sourceLineNo">323</span>              if (initialIsa.isUnresolved()) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>                if (LOG.isTraceEnabled()) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>                  LOG.trace("failed to resolve bind address: " + loc.getHostname() + ":"<a name="line.325"></a>
+<span class="sourceLineNo">326</span>                      + loc.getPort() + ", so use default writer");<a name="line.326"></a>
+<span class="sourceLineNo">327</span>                }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>                wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>              } else {<a name="line.329"></a>
+<span class="sourceLineNo">330</span>                if (LOG.isDebugEnabled()) {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>                  LOG.debug("use favored nodes writer: " + initialIsa.getHostString());<a name="line.331"></a>
+<span class="sourceLineNo">332</span>                }<a name="line.332"></a>
+<span class="sourceLineNo">333</span>                wl = getNewWriter(tableNameBytes, family, conf, new InetSocketAddress[] { initialIsa<a name="line.333"></a>
+<span class="sourceLineNo">334</span>                });<a name="line.334"></a>
+<span class="sourceLineNo">335</span>              }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>            }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>          } else {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>            wl = getNewWriter(tableNameBytes, family, conf, null);<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>        // we now have the proper WAL writer. full steam ahead<a name="line.342"></a>
+<span class="sourceLineNo">343</span>        PrivateCellUtil.updateLatestStamp(cell, this.now);<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        wl.writer.append(kv);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        wl.written += length;<a name="line.345"></a>
 <span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>      private Path getTableRelativePath(byte[] tableNameBytes) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        String[] tableNameParts = tableName.split(":");<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        Path tableRelPath = new Path(tableName.split(":")[0]);<a name="line.350"></a>
-<span class="sourceLineNo">351</span>        if (tableNameParts.length &gt; 1) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>          tableRelPath = new Path(tableRelPath, tableName.split(":")[1]);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>        }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        return tableRelPath;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      }<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      private void rollWriters(WriterLength writerLength) throws IOException {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>        if (writerLength != null) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>          closeWriter(writerLength);<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        } else {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>          for (WriterLength wl : this.writers.values()) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>            closeWriter(wl);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>          }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        }<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        this.rollRequested = false;<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>      private void closeWriter(WriterLength wl) throws IOException {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        if (wl.writer != null) {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>          LOG.info(<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              "Writer=" + wl.writer.getPath() + ((wl.written == 0)? "": ", wrote=" + wl.written));<a name="line.370"></a>
-<span class="sourceLineNo">371</span>          close(wl.writer);<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        }<a name="line.372"></a>
-<span class="sourceLineNo">373</span>        wl.writer = null;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>        wl.written = 0;<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      }<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      /*<a name="line.377"></a>
-<span class="sourceLineNo">378</span>       * Create a new StoreFile.Writer.<a name="line.378"></a>
-<span class="sourceLineNo">379</span>       * @param family<a name="line.379"></a>
-<span class="sourceLineNo">380</span>       * @return A WriterLength, containing a new StoreFile.Writer.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>       * @throws IOException<a name="line.381"></a>
-<span class="sourceLineNo">382</span>       */<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="BX_UNBOXING_IMMEDIATELY_REBOXED",<a name="line.383"></a>
-<span class="sourceLineNo">384</span>          justification="Not important")<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      private WriterLength getNewWriter(byte[] tableName, byte[] family, Configuration<a name="line.385"></a>
-<span class="sourceLineNo">386</span>              conf, InetSocketAddress[] favoredNodes) throws IOException {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableName, family);<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        Path familydir = new Path(outputDir, Bytes.toString(family));<a name="line.388"></a>
-<span class="sourceLineNo">389</span>        if (writeMultipleTables) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>          familydir = new Path(outputDir,<a name="line.390"></a>
-<span class="sourceLineNo">391</span>                  new Path(getTableRelativePath(tableName), Bytes.toString(family)));<a name="line.391"></a>
-<span class="sourceLineNo">392</span>        }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>        WriterLength wl = new WriterLength();<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        Algorithm compression = compressionMap.get(tableAndFamily);<a name="line.394"></a>
-<span class="sourceLineNo">395</span>        compression = compression == null ? defaultCompression : compression;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>        BloomType bloomType = bloomTypeMap.get(tableAndFamily);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>        bloomType = bloomType == null ? BloomType.NONE : bloomType;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        Integer blockSize = blockSizeMap.get(tableAndFamily);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        blockSize = blockSize == null ? HConstants.DEFAULT_BLOCKSIZE : blockSize;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        DataBlockEncoding encoding = overriddenEncoding;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        encoding = encoding == null ? datablockEncodingMap.get(tableAndFamily) : encoding;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        encoding = encoding == null ? DataBlockEncoding.NONE : encoding;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        Configuration tempConf = new Configuration(conf);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>        tempConf.setFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, 0.0f);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>        HFileContextBuilder contextBuilder = new HFileContextBuilder()<a name="line.405"></a>
-<span class="sourceLineNo">406</span>                                    .withCompression(compression)<a name="line.406"></a>
-<span class="sourceLineNo">407</span>                                    .withChecksumType(HStore.getChecksumType(conf))<a name="line.407"></a>
-<span class="sourceLineNo">408</span>                                    .withBytesPerCheckSum(HStore.getBytesPerChecksum(conf))<a name="line.408"></a>
-<span class="sourceLineNo">409</span>                                    .withBlockSize(blockSize);<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>        if (HFile.getFormatVersion(conf) &gt;= HFile.MIN_FORMAT_VERSION_WITH_TAGS) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          contextBuilder.withIncludesTags(true);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>        }<a name="line.413"></a>
+<span class="sourceLineNo">347</span>        // Copy the row so we know when a row transition.<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        this.previousRow = rowKey;<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>      private Path getTableRelativePath(byte[] tableNameBytes) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        String[] tableNameParts = tableName.split(":");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        Path tableRelPath = new Path(tableName.split(":")[0]);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>        if (tableNameParts.length &gt; 1) {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>          tableRelPath = new Path(tableRelPath, tableName.split(":")[1]);<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        }<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        return tableRelPath;<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      }<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      private void rollWriters(WriterLength writerLength) throws IOException {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        if (writerLength != null) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span>          closeWriter(writerLength);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        } else {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          for (WriterLength wl : this.writers.values()) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>            closeWriter(wl);<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>        this.rollRequested = false;<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>      private void closeWriter(WriterLength wl) throws IOException {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>        if (wl.writer != null) {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>          LOG.info(<a name="line.373"></a>
+<span class="sourceLineNo">374</span>              "Writer=" + wl.writer.getPath() + ((wl.written == 0)? "": ", wrote=" + wl.written));<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          close(wl.writer);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>        }<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        wl.writer = null;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        wl.written = 0;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      }<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span>      /*<a name="line.381"></a>
+<span class="sourceLineNo">382</span>       * Create a new StoreFile.Writer.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>       * @param family<a name="line.383"></a>
+<span class="sourceLineNo">384</span>       * @return A WriterLength, containing a new StoreFile.Writer.<a name="line.384"></a>
+<span class="sourceLineNo">385</span>       * @throws IOException<a name="line.385"></a>
+<span class="sourceLineNo">386</span>       */<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="BX_UNBOXING_IMMEDIATELY_REBOXED",<a name="line.387"></a>
+<span class="sourceLineNo">388</span>          justification="Not important")<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      private WriterLength getNewWriter(byte[] tableName, byte[] family, Configuration<a name="line.389"></a>
+<span class="sourceLineNo">390</span>              conf, InetSocketAddress[] favoredNodes) throws IOException {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableName, family);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        Path familydir = new Path(outputDir, Bytes.toString(family));<a name="line.392"></a>
+<span class="sourceLineNo">393</span>        if (writeMultipleTables) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>          familydir = new Path(outputDir,<a name="line.394"></a>
+<span class="sourceLineNo">395</span>                  new Path(getTableRelativePath(tableName), Bytes.toString(family)));<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>        WriterLength wl = new WriterLength();<a name="line.397"></a>
+<span class="sourceLineNo">398</span>        Algorithm compression = compressionMap.get(tableAndFamily);<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        compression = compression == null ? defaultCompression : compression;<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        BloomType bloomType = bloomTypeMap.get(tableAndFamily);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        bloomType = bloomType == null ? BloomType.NONE : bloomType;<a name="line.401"></a>
+<span class="sourceLineNo">402</span>        Integer blockSize = blockSizeMap.get(tableAndFamily);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>        blockSize = blockSize == null ? HConstants.DEFAULT_BLOCKSIZE : blockSize;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>        DataBlockEncoding encoding = overriddenEncoding;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>        encoding = encoding == null ? datablockEncodingMap.get(tableAndFamily) : encoding;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>        encoding = encoding == null ? DataBlockEncoding.NONE : encoding;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>        Configuration tempConf = new Configuration(conf);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>        tempConf.setFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, 0.0f);<a name="line.408"></a>
+<span class="sourceLineNo">409</span>        HFileContextBuilder contextBuilder = new HFileContextBuilder()<a name="line.409"></a>
+<span class="sourceLineNo">410</span>                                    .withCompression(compression)<a name="line.410"></a>
+<span class="sourceLineNo">411</span>                                    .withChecksumType(HStore.getChecksumType(conf))<a name="line.411"></a>
+<span class="sourceLineNo">412</span>                                    .withBytesPerCheckSum(HStore.getBytesPerChecksum(conf))<a name="line.412"></a>
+<span class="sourceLineNo">413</span>                                    .withBlockSize(blockSize);<a name="line.413"></a>
 <span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>        contextBuilder.withDataBlockEncoding(encoding);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>        HFileContext hFileContext = contextBuilder.build();<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        if (null == favoredNodes) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>          wl.writer =<a name="line.418"></a>
-<span class="sourceLineNo">419</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), fs)<a name="line.419"></a>
-<span class="sourceLineNo">420</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.420"></a>
-<span class="sourceLineNo">421</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext).build();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        } else {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          wl.writer =<a name="line.423"></a>
-<span class="sourceLineNo">424</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), new HFileSystem(fs))<a name="line.424"></a>
-<span class="sourceLineNo">425</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.425"></a>
-<span class="sourceLineNo">426</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext)<a name="line.426"></a>
-<span class="sourceLineNo">427</span>                  .withFavoredNodes(favoredNodes).build();<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        }<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>        this.writers.put(tableAndFamily, wl);<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        return wl;<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      }<a name="line.432"></a>
+<span class="sourceLineNo">415</span>        if (HFile.getFormatVersion(conf) &gt;= HFile.MIN_FORMAT_VERSION_WITH_TAGS) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>          contextBuilder.withIncludesTags(true);<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>        contextBuilder.withDataBlockEncoding(encoding);<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        HFileContext hFileContext = contextBuilder.build();<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        if (null == favoredNodes) {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>          wl.writer =<a name="line.422"></a>
+<span class="sourceLineNo">423</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), fs)<a name="line.423"></a>
+<span class="sourceLineNo">424</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.424"></a>
+<span class="sourceLineNo">425</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext).build();<a name="line.425"></a>
+<span class="sourceLineNo">426</span>        } else {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>          wl.writer =<a name="line.427"></a>
+<span class="sourceLineNo">428</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), new HFileSystem(fs))<a name="line.428"></a>
+<span class="sourceLineNo">429</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.429"></a>
+<span class="sourceLineNo">430</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext)<a name="line.430"></a>
+<span class="sourceLineNo">431</span>                  .withFavoredNodes(favoredNodes).build();<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>      private void close(final StoreFileWriter w) throws IOException {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        if (w != null) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          w.appendFileInfo(BULKLOAD_TIME_KEY,<a name="line.436"></a>
-<span class="sourceLineNo">437</span>              Bytes.toBytes(System.currentTimeMillis()));<a name="line.437"></a>
-<span class="sourceLineNo">438</span>          w.appendFileInfo(BULKLOAD_TASK_KEY,<a name="line.438"></a>
-<span class="sourceLineNo">439</span>              Bytes.toBytes(context.getTaskAttemptID().toString()));<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          w.appendFileInfo(MAJOR_COMPACTION_KEY,<a name="line.440"></a>
-<span class="sourceLineNo">441</span>              Bytes.toBytes(true));<a name="line.441"></a>
-<span class="sourceLineNo">442</span>          w.appendFileInfo(EXCLUDE_FROM_MINOR_COMPACTION_KEY,<a name="line.442"></a>
-<span class="sourceLineNo">443</span>              Bytes.toBytes(compactionExclude));<a name="line.443"></a>
-<span class="sourceLineNo">444</span>          w.appendTrackedTimestampsToMetadata();<a name="line.444"></a>
-<span class="sourceLineNo">445</span>          w.close();<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        }<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      }<a name="line.447"></a>
-<span class="sourceLineNo">448</span><a name="line.448"></a>
-<span class="sourceLineNo">449</span>      @Override<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      public void close(TaskAttemptContext c)<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      throws IOException, InterruptedException {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        for (WriterLength wl: this.writers.values()) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          close(wl.writer);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>        }<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    };<a name="line.456"></a>
-<span class="sourceLineNo">457</span>  }<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>   * Configure block storage policy for CF after the directory is created.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   */<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  static void configureStoragePolicy(final Configuration conf, final FileSystem fs,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      byte[] tableAndFamily, Path cfPath) {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    if (null == conf || null == fs || null == tableAndFamily || null == cfPath) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      return;<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>    String policy =<a name="line.468"></a>
-<span class="sourceLineNo">469</span>        conf.get(STORAGE_POLICY_PROPERTY_CF_PREFIX + Bytes.toString(tableAndFamily),<a name="line.469"></a>
-<span class="sourceLineNo">470</span>          conf.get(STORAGE_POLICY_PROPERTY));<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    FSUtils.setStoragePolicy(fs, cfPath, policy);<a name="line.471"></a>
-<span class="sourceLineNo">472</span>  }<a na

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/security/access/CoprocessorWhitelistMasterObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/CoprocessorWhitelistMasterObserver.html b/devapidocs/org/apache/hadoop/hbase/security/access/CoprocessorWhitelistMasterObserver.html
index 9799d8b..c2f510f 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/CoprocessorWhitelistMasterObserver.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/CoprocessorWhitelistMasterObserver.html
@@ -254,7 +254,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.u
 til.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.ht
 ml#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Mas
 terObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableN
 ame-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a>, <a href="../../../../../../org/apache/
 hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.St
 ring-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop
 .hbase.coprocessor.ObserverContext-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coproces
 sor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href
 ="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoo
 p.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Mast
 erObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-
 java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 postSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.q
 uotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../..
 /../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-long-">preAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hba
 se.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.h
 adoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:
 A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">preDecommissionRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apac
 he.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoo
 p/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/copr
 ocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDecommissionedRegionServers</a>, <a hre
 f="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-java.lang.String-">preLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.
 coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="
 ../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/ap
 ache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">preRecommissionRegionServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-ja
 va.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">preRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">preRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.Gl
 obalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.ha
 doop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../..
 /../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforeMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforeMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTab
 leFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.u
 til.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.ht
 ml#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Mas
 terObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.Obse
 rverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop
 .hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/
 coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a>, <a href="../../../../../..
 /org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContex
 t-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObse
 rver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.a
 pache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coproce
 ssor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apa
 che.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/co
 processor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Mas
 terObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoo
 p/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hado
 op.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-long-">preAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.Replicati
 onPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../
 ../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/
 MasterObserver.html#preDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">preDecommissionRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTabl
 eAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.Ob
 serverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverCont
 ext-">preGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDecommissionedRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespace
 Descriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-java.lang.String-">preLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apa
 che/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-
 org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.clien
 t.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../../org/apache/hado
 op/hbase/coprocessor/MasterObserver.html#preRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">preRecommissionRegionServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">pre
 RemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">preRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boo
 lean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContex
 t-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a
  href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforeMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforeMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTrunca
 teTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
 </ul>
 </li>
 </ul>
@@ -349,7 +349,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>tableName</code> - the name of the table</dd>
-<dd><code>htd</code> - the TableDescriptor</dd>
+<dd><code>htd</code> - after modify operation, table will have this descriptor</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html b/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html
index 41a14fc..0e0c8c1 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html
@@ -664,8 +664,9 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">postCompletedModifyTableAction</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;htd,
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">postCompletedModifyTableAction</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;oldDescriptor,
+                              <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor,
                               <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -740,8 +741,9 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">preModifyTableAction</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;htd,
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">preModifyTableAction</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;currentDescriptor,
+                    <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor,
                     <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private Histogram remoteRpcCallsHistogram;<a name="line.1079"></a>


<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private Histogram remoteRpcCallsHistogram;<a name="line.1079">

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html
index 6313ac8..381917f 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.633">PerformanceEvaluation.TestOptions</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.634">PerformanceEvaluation.TestOptions</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Wraps up options passed to <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase"><code>PerformanceEvaluation</code></a>.
  This makes tracking all these arguments a little easier.
@@ -695,7 +695,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>cmdName</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.634">cmdName</a></pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.635">cmdName</a></pre>
 </li>
 </ul>
 <a name="nomapred">
@@ -704,7 +704,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>nomapred</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.635">nomapred</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.636">nomapred</a></pre>
 </li>
 </ul>
 <a name="filterAll">
@@ -713,7 +713,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAll</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.636">filterAll</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.637">filterAll</a></pre>
 </li>
 </ul>
 <a name="startRow">
@@ -722,7 +722,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>startRow</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.637">startRow</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.638">startRow</a></pre>
 </li>
 </ul>
 <a name="size">
@@ -731,7 +731,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
-<pre>float <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.638">size</a></pre>
+<pre>float <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.639">size</a></pre>
 </li>
 </ul>
 <a name="perClientRunRows">
@@ -740,7 +740,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>perClientRunRows</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.639">perClientRunRows</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.640">perClientRunRows</a></pre>
 </li>
 </ul>
 <a name="numClientThreads">
@@ -749,7 +749,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>numClientThreads</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.640">numClientThreads</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.641">numClientThreads</a></pre>
 </li>
 </ul>
 <a name="totalRows">
@@ -758,7 +758,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>totalRows</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.641">totalRows</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.642">totalRows</a></pre>
 </li>
 </ul>
 <a name="measureAfter">
@@ -767,7 +767,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>measureAfter</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.642">measureAfter</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.643">measureAfter</a></pre>
 </li>
 </ul>
 <a name="sampleRate">
@@ -776,7 +776,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>sampleRate</h4>
-<pre>float <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.643">sampleRate</a></pre>
+<pre>float <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.644">sampleRate</a></pre>
 </li>
 </ul>
 <a name="traceRate">
@@ -785,7 +785,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>traceRate</h4>
-<pre>double <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.644">traceRate</a></pre>
+<pre>double <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.645">traceRate</a></pre>
 </li>
 </ul>
 <a name="tableName">
@@ -794,7 +794,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>tableName</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.645">tableName</a></pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.646">tableName</a></pre>
 </li>
 </ul>
 <a name="flushCommits">
@@ -803,7 +803,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>flushCommits</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.646">flushCommits</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.647">flushCommits</a></pre>
 </li>
 </ul>
 <a name="writeToWAL">
@@ -812,7 +812,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>writeToWAL</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.647">writeToWAL</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.648">writeToWAL</a></pre>
 </li>
 </ul>
 <a name="autoFlush">
@@ -821,7 +821,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>autoFlush</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.648">autoFlush</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.649">autoFlush</a></pre>
 </li>
 </ul>
 <a name="oneCon">
@@ -830,7 +830,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>oneCon</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.649">oneCon</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.650">oneCon</a></pre>
 </li>
 </ul>
 <a name="useTags">
@@ -839,7 +839,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>useTags</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.650">useTags</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.651">useTags</a></pre>
 </li>
 </ul>
 <a name="noOfTags">
@@ -848,7 +848,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>noOfTags</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.651">noOfTags</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.652">noOfTags</a></pre>
 </li>
 </ul>
 <a name="reportLatency">
@@ -857,7 +857,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>reportLatency</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.652">reportLatency</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.653">reportLatency</a></pre>
 </li>
 </ul>
 <a name="multiGet">
@@ -866,7 +866,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>multiGet</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.653">multiGet</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.654">multiGet</a></pre>
 </li>
 </ul>
 <a name="randomSleep">
@@ -875,7 +875,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>randomSleep</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.654">randomSleep</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.655">randomSleep</a></pre>
 </li>
 </ul>
 <a name="inMemoryCF">
@@ -884,7 +884,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>inMemoryCF</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.655">inMemoryCF</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.656">inMemoryCF</a></pre>
 </li>
 </ul>
 <a name="presplitRegions">
@@ -893,7 +893,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>presplitRegions</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.656">presplitRegions</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.657">presplitRegions</a></pre>
 </li>
 </ul>
 <a name="replicas">
@@ -902,7 +902,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>replicas</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.657">replicas</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.658">replicas</a></pre>
 </li>
 </ul>
 <a name="splitPolicy">
@@ -911,7 +911,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>splitPolicy</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.658">splitPolicy</a></pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.659">splitPolicy</a></pre>
 </li>
 </ul>
 <a name="compression">
@@ -920,7 +920,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>compression</h4>
-<pre>org.apache.hadoop.hbase.io.compress.Compression.Algorithm <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.659">compression</a></pre>
+<pre>org.apache.hadoop.hbase.io.compress.Compression.Algorithm <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.660">compression</a></pre>
 </li>
 </ul>
 <a name="bloomType">
@@ -929,7 +929,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>bloomType</h4>
-<pre>org.apache.hadoop.hbase.regionserver.BloomType <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.660">bloomType</a></pre>
+<pre>org.apache.hadoop.hbase.regionserver.BloomType <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.661">bloomType</a></pre>
 </li>
 </ul>
 <a name="blockSize">
@@ -938,7 +938,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>blockSize</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.661">blockSize</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.662">blockSize</a></pre>
 </li>
 </ul>
 <a name="blockEncoding">
@@ -947,7 +947,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>blockEncoding</h4>
-<pre>org.apache.hadoop.hbase.io.encoding.DataBlockEncoding <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.662">blockEncoding</a></pre>
+<pre>org.apache.hadoop.hbase.io.encoding.DataBlockEncoding <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.663">blockEncoding</a></pre>
 </li>
 </ul>
 <a name="valueRandom">
@@ -956,7 +956,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>valueRandom</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.663">valueRandom</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.664">valueRandom</a></pre>
 </li>
 </ul>
 <a name="valueZipf">
@@ -965,7 +965,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>valueZipf</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.664">valueZipf</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.665">valueZipf</a></pre>
 </li>
 </ul>
 <a name="valueSize">
@@ -974,7 +974,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>valueSize</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.665">valueSize</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.666">valueSize</a></pre>
 </li>
 </ul>
 <a name="period">
@@ -983,7 +983,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>period</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.666">period</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.667">period</a></pre>
 </li>
 </ul>
 <a name="cycles">
@@ -992,7 +992,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>cycles</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.667">cycles</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.668">cycles</a></pre>
 </li>
 </ul>
 <a name="columns">
@@ -1001,7 +1001,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>columns</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.668">columns</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.669">columns</a></pre>
 </li>
 </ul>
 <a name="families">
@@ -1010,7 +1010,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>families</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.669">families</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.670">families</a></pre>
 </li>
 </ul>
 <a name="caching">
@@ -1019,7 +1019,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>caching</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.670">caching</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.671">caching</a></pre>
 </li>
 </ul>
 <a name="addColumns">
@@ -1028,7 +1028,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>addColumns</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.671">addColumns</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.672">addColumns</a></pre>
 </li>
 </ul>
 <a name="inMemoryCompaction">
@@ -1037,7 +1037,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>inMemoryCompaction</h4>
-<pre>org.apache.hadoop.hbase.MemoryCompactionPolicy <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.672">inMemoryCompaction</a></pre>
+<pre>org.apache.hadoop.hbase.MemoryCompactionPolicy <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.673">inMemoryCompaction</a></pre>
 </li>
 </ul>
 <a name="asyncPrefetch">
@@ -1046,7 +1046,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>asyncPrefetch</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.675">asyncPrefetch</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.676">asyncPrefetch</a></pre>
 </li>
 </ul>
 <a name="cacheBlocks">
@@ -1055,7 +1055,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheBlocks</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.676">cacheBlocks</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.677">cacheBlocks</a></pre>
 </li>
 </ul>
 <a name="scanReadType">
@@ -1064,7 +1064,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>scanReadType</h4>
-<pre>org.apache.hadoop.hbase.client.Scan.ReadType <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.677">scanReadType</a></pre>
+<pre>org.apache.hadoop.hbase.client.Scan.ReadType <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.678">scanReadType</a></pre>
 </li>
 </ul>
 <a name="bufferSize">
@@ -1073,7 +1073,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>bufferSize</h4>
-<pre>long <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.678">bufferSize</a></pre>
+<pre>long <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.679">bufferSize</a></pre>
 </li>
 </ul>
 </li>
@@ -1090,7 +1090,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>TestOptions</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.680">TestOptions</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.681">TestOptions</a>()</pre>
 </li>
 </ul>
 <a name="TestOptions-org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions-">
@@ -1099,7 +1099,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestOptions</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.686">TestOptions</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;that)</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.687">TestOptions</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;that)</pre>
 <div class="block">Clone constructor.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1121,7 +1121,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getCaching</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.732">getCaching</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.733">getCaching</a>()</pre>
 </li>
 </ul>
 <a name="setCaching-int-">
@@ -1130,7 +1130,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setCaching</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.736">setCaching</a>(int&nbsp;caching)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.737">setCaching</a>(int&nbsp;caching)</pre>
 </li>
 </ul>
 <a name="getColumns--">
@@ -1139,7 +1139,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumns</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.740">getColumns</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.741">getColumns</a>()</pre>
 </li>
 </ul>
 <a name="setColumns-int-">
@@ -1148,7 +1148,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setColumns</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.744">setColumns</a>(int&nbsp;columns)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.745">setColumns</a>(int&nbsp;columns)</pre>
 </li>
 </ul>
 <a name="getFamilies--">
@@ -1157,7 +1157,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilies</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.748">getFamilies</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.749">getFamilies</a>()</pre>
 </li>
 </ul>
 <a name="setFamilies-int-">
@@ -1166,7 +1166,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setFamilies</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.752">setFamilies</a>(int&nbsp;families)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.753">setFamilies</a>(int&nbsp;families)</pre>
 </li>
 </ul>
 <a name="getCycles--">
@@ -1175,7 +1175,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getCycles</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.756">getCycles</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.757">getCycles</a>()</pre>
 </li>
 </ul>
 <a name="setCycles-int-">
@@ -1184,7 +1184,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setCycles</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.760">setCycles</a>(int&nbsp;cycles)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.761">setCycles</a>(int&nbsp;cycles)</pre>
 </li>
 </ul>
 <a name="isValueZipf--">
@@ -1193,7 +1193,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isValueZipf</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.764">isValueZipf</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.765">isValueZipf</a>()</pre>
 </li>
 </ul>
 <a name="setValueZipf-boolean-">
@@ -1202,7 +1202,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setValueZipf</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.768">setValueZipf</a>(boolean&nbsp;valueZipf)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.769">setValueZipf</a>(boolean&nbsp;valueZipf)</pre>
 </li>
 </ul>
 <a name="getCmdName--">
@@ -1211,7 +1211,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getCmdName</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.772">getCmdName</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.773">getCmdName</a>()</pre>
 </li>
 </ul>
 <a name="setCmdName-java.lang.String-">
@@ -1220,7 +1220,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setCmdName</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.776">setCmdName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;cmdName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.777">setCmdName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;cmdName)</pre>
 </li>
 </ul>
 <a name="getRandomSleep--">
@@ -1229,7 +1229,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getRandomSleep</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.780">getRandomSleep</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.781">getRandomSleep</a>()</pre>
 </li>
 </ul>
 <a name="setRandomSleep-int-">
@@ -1238,7 +1238,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setRandomSleep</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.784">setRandomSleep</a>(int&nbsp;randomSleep)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.785">setRandomSleep</a>(int&nbsp;randomSleep)</pre>
 </li>
 </ul>
 <a name="getReplicas--">
@@ -1247,7 +1247,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicas</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.788">getReplicas</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.789">getReplicas</a>()</pre>
 </li>
 </ul>
 <a name="setReplicas-int-">
@@ -1256,7 +1256,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setReplicas</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.792">setReplicas</a>(int&nbsp;replicas)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.793">setReplicas</a>(int&nbsp;replicas)</pre>
 </li>
 </ul>
 <a name="getSplitPolicy--">
@@ -1265,7 +1265,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitPolicy</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.796">getSplitPolicy</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.797">getSplitPolicy</a>()</pre>
 </li>
 </ul>
 <a name="setSplitPolicy-java.lang.String-">
@@ -1274,7 +1274,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setSplitPolicy</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.800">setSplitPolicy</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;splitPolicy)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.801">setSplitPolicy</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;splitPolicy)</pre>
 </li>
 </ul>
 <a name="setNomapred-boolean-">
@@ -1283,7 +1283,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setNomapred</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.804">setNomapred</a>(boolean&nbsp;nomapred)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.805">setNomapred</a>(boolean&nbsp;nomapred)</pre>
 </li>
 </ul>
 <a name="setFilterAll-boolean-">
@@ -1292,7 +1292,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setFilterAll</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.808">setFilterAll</a>(boolean&nbsp;filterAll)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.809">setFilterAll</a>(boolean&nbsp;filterAll)</pre>
 </li>
 </ul>
 <a name="setStartRow-int-">
@@ -1301,7 +1301,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setStartRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.812">setStartRow</a>(int&nbsp;startRow)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.813">setStartRow</a>(int&nbsp;startRow)</pre>
 </li>
 </ul>
 <a name="setSize-float-">
@@ -1310,7 +1310,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.816">setSize</a>(float&nbsp;size)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.817">setSize</a>(float&nbsp;size)</pre>
 </li>
 </ul>
 <a name="setPerClientRunRows-int-">
@@ -1319,7 +1319,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setPerClientRunRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.820">setPerClientRunRows</a>(int&nbsp;perClientRunRows)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.821">setPerClientRunRows</a>(int&nbsp;perClientRunRows)</pre>
 </li>
 </ul>
 <a name="setNumClientThreads-int-">
@@ -1328,7 +1328,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setNumClientThreads</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.824">setNumClientThreads</a>(int&nbsp;numClientThreads)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.825">setNumClientThreads</a>(int&nbsp;numClientThreads)</pre>
 </li>
 </ul>
 <a name="setTotalRows-int-">
@@ -1337,7 +1337,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setTotalRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.828">setTotalRows</a>(int&nbsp;totalRows)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.829">setTotalRows</a>(int&nbsp;totalRows)</pre>
 </li>
 </ul>
 <a name="setSampleRate-float-">
@@ -1346,7 +1346,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setSampleRate</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.832">setSampleRate</a>(float&nbsp;sampleRate)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.833">setSampleRate</a>(float&nbsp;sampleRate)</pre>
 </li>
 </ul>
 <a name="setTraceRate-double-">
@@ -1355,7 +1355,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setTraceRate</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.836">setTraceRate</a>(double&nbsp;traceRate)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.837">setTraceRate</a>(double&nbsp;traceRate)</pre>
 </li>
 </ul>
 <a name="setTableName-java.lang.String-">
@@ -1364,7 +1364,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setTableName</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.840">setTableName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.841">setTableName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName)</pre>
 </li>
 </ul>
 <a name="setFlushCommits-boolean-">
@@ -1373,7 +1373,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setFlushCommits</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.844">setFlushCommits</a>(boolean&nbsp;flushCommits)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.845">setFlushCommits</a>(boolean&nbsp;flushCommits)</pre>
 </li>
 </ul>
 <a name="setWriteToWAL-boolean-">
@@ -1382,7 +1382,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setWriteToWAL</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.848">setWriteToWAL</a>(boolean&nbsp;writeToWAL)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.849">setWriteToWAL</a>(boolean&nbsp;writeToWAL)</pre>
 </li>
 </ul>
 <a name="setAutoFlush-boolean-">
@@ -1391,7 +1391,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setAutoFlush</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.852">setAutoFlush</a>(boolean&nbsp;autoFlush)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.853">setAutoFlush</a>(boolean&nbsp;autoFlush)</pre>
 </li>
 </ul>
 <a name="setOneCon-boolean-">
@@ -1400,7 +1400,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setOneCon</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.856">setOneCon</a>(boolean&nbsp;oneCon)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.857">setOneCon</a>(boolean&nbsp;oneCon)</pre>
 </li>
 </ul>
 <a name="setUseTags-boolean-">
@@ -1409,7 +1409,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setUseTags</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.860">setUseTags</a>(boolean&nbsp;useTags)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.861">setUseTags</a>(boolean&nbsp;useTags)</pre>
 </li>
 </ul>
 <a name="setNoOfTags-int-">
@@ -1418,7 +1418,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setNoOfTags</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.864">setNoOfTags</a>(int&nbsp;noOfTags)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.865">setNoOfTags</a>(int&nbsp;noOfTags)</pre>
 </li>
 </ul>
 <a name="setReportLatency-boolean-">
@@ -1427,7 +1427,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setReportLatency</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.868">setReportLatency</a>(boolean&nbsp;reportLatency)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.869">setReportLatency</a>(boolean&nbsp;reportLatency)</pre>
 </li>
 </ul>
 <a name="setMultiGet-int-">
@@ -1436,7 +1436,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setMultiGet</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.872">setMultiGet</a>(int&nbsp;multiGet)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.873">setMultiGet</a>(int&nbsp;multiGet)</pre>
 </li>
 </ul>
 <a name="setInMemoryCF-boolean-">
@@ -1445,7 +1445,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setInMemoryCF</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.876">setInMemoryCF</a>(boolean&nbsp;inMemoryCF)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.877">setInMemoryCF</a>(boolean&nbsp;inMemoryCF)</pre>
 </li>
 </ul>
 <a name="setPresplitRegions-int-">
@@ -1454,7 +1454,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setPresplitRegions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.880">setPresplitRegions</a>(int&nbsp;presplitRegions)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.881">setPresplitRegions</a>(int&nbsp;presplitRegions)</pre>
 </li>
 </ul>
 <a name="setCompression-org.apache.hadoop.hbase.io.compress.Compression.Algorithm-">
@@ -1463,7 +1463,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setCompression</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.884">setCompression</a>(org.apache.hadoop.hbase.io.compress.Compression.Algorithm&nbsp;compression)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.885">setCompression</a>(org.apache.hadoop.hbase.io.compress.Compression.Algorithm&nbsp;compression)</pre>
 </li>
 </ul>
 <a name="setBloomType-org.apache.hadoop.hbase.regionserver.BloomType-">
@@ -1472,7 +1472,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setBloomType</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.888">setBloomType</a>(org.apache.hadoop.hbase.regionserver.BloomType&nbsp;bloomType)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.889">setBloomType</a>(org.apache.hadoop.hbase.regionserver.BloomType&nbsp;bloomType)</pre>
 </li>
 </ul>
 <a name="setBlockSize-int-">
@@ -1481,7 +1481,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setBlockSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.892">setBlockSize</a>(int&nbsp;blockSize)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.893">setBlockSize</a>(int&nbsp;blockSize)</pre>
 </li>
 </ul>
 <a name="setBlockEncoding-org.apache.hadoop.hbase.io.encoding.DataBlockEncoding-">
@@ -1490,7 +1490,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setBlockEncoding</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.896">setBlockEncoding</a>(org.apache.hadoop.hbase.io.encoding.DataBlockEncoding&nbsp;blockEncoding)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.897">setBlockEncoding</a>(org.apache.hadoop.hbase.io.encoding.DataBlockEncoding&nbsp;blockEncoding)</pre>
 </li>
 </ul>
 <a name="setValueRandom-boolean-">
@@ -1499,7 +1499,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setValueRandom</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.900">setValueRandom</a>(boolean&nbsp;valueRandom)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.901">setValueRandom</a>(boolean&nbsp;valueRandom)</pre>
 </li>
 </ul>
 <a name="setValueSize-int-">
@@ -1508,7 +1508,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setValueSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.904">setValueSize</a>(int&nbsp;valueSize)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.905">setValueSize</a>(int&nbsp;valueSize)</pre>
 </li>
 </ul>
 <a name="setBufferSize-long-">
@@ -1517,7 +1517,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setBufferSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.908">setBufferSize</a>(long&nbsp;bufferSize)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.909">setBufferSize</a>(long&nbsp;bufferSize)</pre>
 </li>
 </ul>
 <a name="setPeriod-int-">
@@ -1526,7 +1526,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setPeriod</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.912">setPeriod</a>(int&nbsp;period)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.913">setPeriod</a>(int&nbsp;period)</pre>
 </li>
 </ul>
 <a name="isNomapred--">
@@ -1535,7 +1535,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isNomapred</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.916">isNomapred</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.917">isNomapred</a>()</pre>
 </li>
 </ul>
 <a name="isFilterAll--">
@@ -1544,7 +1544,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isFilterAll</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.920">isFilterAll</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.921">isFilterAll</a>()</pre>
 </li>
 </ul>
 <a name="getStartRow--">
@@ -1553,7 +1553,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartRow</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.924">getStartRow</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.925">getStartRow</a>()</pre>
 </li>
 </ul>
 <a name="getSize--">
@@ -1562,7 +1562,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getSize</h4>
-<pre>public&nbsp;float&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.928">getSize</a>()</pre>
+<pre>public&nbsp;float&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.929">getSize</a>()</pre>
 </li>
 </ul>
 <a name="getPerClientRunRows--">
@@ -1571,7 +1571,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getPerClientRunRows</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.932">getPerClientRunRows</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.933">getPerClientRunRows</a>()</pre>
 </li>
 </ul>
 <a name="getNumClientThreads--">
@@ -1580,7 +1580,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumClientThreads</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.936">getNumClientThreads</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.937">getNumClientThreads</a>()</pre>
 </li>
 </ul>
 <a name="getTotalRows--">
@@ -1589,7 +1589,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalRows</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.940">getTotalRows</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.941">getTotalRows</a>()</pre>
 </li>
 </ul>
 <a name="getSampleRate--">
@@ -1598,7 +1598,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getSampleRate</h4>
-<pre>public&nbsp;float&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.944">getSampleRate</a>()</pre>
+<pre>public&nbsp;float&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.945">getSampleRate</a>()</pre>
 </li>
 </ul>
 <a name="getTraceRate--">
@@ -1607,7 +1607,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getTraceRate</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.948">getTraceRate</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.949">getTraceRate</a>()</pre>
 </li>
 </ul>
 <a name="getTableName--">
@@ -1616,7 +1616,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.952">getTableName</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.953">getTableName</a>()</pre>
 </li>
 </ul>
 <a name="isFlushCommits--">
@@ -1625,7 +1625,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isFlushCommits</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.956">isFlushCommits</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.957">isFlushCommits</a>()</pre>
 </li>
 </ul>
 <a name="isWriteToWAL--">
@@ -1634,7 +1634,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isWriteToWAL</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.960">isWriteToWAL</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.961">isWriteToWAL</a>()</pre>
 </li>
 </ul>
 <a name="isAutoFlush--">
@@ -1643,7 +1643,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isAutoFlush</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.964">isAutoFlush</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.965">isAutoFlush</a>()</pre>
 </li>
 </ul>
 <a name="isUseTags--">
@@ -1652,7 +1652,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isUseTags</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.968">isUseTags</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.969">isUseTags</a>()</pre>
 </li>
 </ul>
 <a name="getNoOfTags--">
@@ -1661,7 +1661,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getNoOfTags</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.972">getNoOfTags</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.973">getNoOfTags</a>()</pre>
 </li>
 </ul>
 <a name="isReportLatency--">
@@ -1670,7 +1670,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isReportLatency</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.976">isReportLatency</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.977">isReportLatency</a>()</pre>
 </li>
 </ul>
 <a name="getMultiGet--">
@@ -1679,7 +1679,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getMultiGet</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.980">getMultiGet</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.981">getMultiGet</a>()</pre>
 </li>
 </ul>
 <a name="isInMemoryCF--">
@@ -1688,7 +1688,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isInMemoryCF</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.984">isInMemoryCF</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.985">isInMemoryCF</a>()</pre>
 </li>
 </ul>
 <a name="getPresplitRegions--">
@@ -1697,7 +1697,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getPresplitRegions</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.988">getPresplitRegions</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.989">getPresplitRegions</a>()</pre>
 </li>
 </ul>
 <a name="getCompression--">
@@ -1706,7 +1706,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompression</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.io.compress.Compression.Algorithm&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.992">getCompression</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.io.compress.Compression.Algorithm&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.993">getCompression</a>()</pre>
 </li>
 </ul>
 <a name="getBlockEncoding--">
@@ -1715,7 +1715,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockEncoding</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.io.encoding.DataBlockEncoding&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.996">getBlockEncoding</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.io.encoding.DataBlockEncoding&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.997">getBlockEncoding</a>()</pre>
 </li>
 </ul>
 <a name="isValueRandom--">
@@ -1724,7 +1724,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isValueRandom</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1000">isValueRandom</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1001">isValueRandom</a>()</pre>
 </li>
 </ul>
 <a name="getValueSize--">
@@ -1733,7 +1733,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueSize</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1004">getValueSize</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1005">getValueSize</a>()</pre>
 </li>
 </ul>
 <a name="getPeriod--">
@@ -1742,7 +1742,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getPeriod</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1008">getPeriod</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1009">getPeriod</a>()</pre>
 </li>
 </ul>
 <a name="getBloomType--">
@@ -1751,7 +1751,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getBloomType</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.BloomType&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1012">getBloomType</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.BloomType&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1013">getBloomType</a>()</pre>
 </li>
 </ul>
 <a name="getBlockSize--">
@@ -1760,7 +1760,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockSize</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1016">getBlockSize</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1017">getBlockSize</a>()</pre>
 </li>
 </ul>
 <a name="isOneCon--">
@@ -1769,7 +1769,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isOneCon</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1020">isOneCon</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1021">isOneCon</a>()</pre>
 </li>
 </ul>
 <a name="getMeasureAfter--">
@@ -1778,7 +1778,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getMeasureAfter</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1024">getMeasureAfter</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1025">getMeasureAfter</a>()</pre>
 </li>
 </ul>
 <a name="setMeasureAfter-int-">
@@ -1787,7 +1787,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setMeasureAfter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1028">setMeasureAfter</a>(int&nbsp;measureAfter)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1029">setMeasureAfter</a>(int&nbsp;measureAfter)</pre>
 </li>
 </ul>
 <a name="getAddColumns--">
@@ -1796,7 +1796,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getAddColumns</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1032">getAddColumns</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1033">getAddColumns</a>()</pre>
 </li>
 </ul>
 <a name="setAddColumns-boolean-">
@@ -1805,7 +1805,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setAddColumns</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1036">setAddColumns</a>(boolean&nbsp;addColumns)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1037">setAddColumns</a>(boolean&nbsp;addColumns)</pre>
 </li>
 </ul>
 <a name="setInMemoryCompaction-org.apache.hadoop.hbase.MemoryCompactionPolicy-">
@@ -1814,7 +1814,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setInMemoryCompaction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1040">setInMemoryCompaction</a>(org.apache.hadoop.hbase.MemoryCompactionPolicy&nbsp;inMemoryCompaction)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1041">setInMemoryCompaction</a>(org.apache.hadoop.hbase.MemoryCompactionPolicy&nbsp;inMemoryCompaction)</pre>
 </li>
 </ul>
 <a name="getInMemoryCompaction--">
@@ -1823,7 +1823,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getInMemoryCompaction</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.MemoryCompactionPolicy&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1044">getInMemoryCompaction</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.MemoryCompactionPolicy&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1045">getInMemoryCompaction</a>()</pre>
 </li>
 </ul>
 <a name="getBufferSize--">
@@ -1832,7 +1832,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getBufferSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1048">getBufferSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.1049">getBufferSize</a>()</pre>
 </li>
 </ul>
 </li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/MasterCoprocessorEnvironment.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/MasterCoprocessorEnvironment.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/MasterCoprocessorEnvironment.html
index ff8cf8c..fcb8070 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/MasterCoprocessorEnvironment.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/MasterCoprocessorEnvironment.html
@@ -237,19 +237,30 @@
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <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;htd)</code>
-<div class="block">Called after to modifying a table's properties.</div>
+                              <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                              <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;oldDescriptor,
+                              <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block">Called after to modifying a table's properties.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;c,
                               <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfoA,
                               <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfoB)</code>
 <div class="block">Called after the region is split.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                 <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
@@ -257,14 +268,14 @@
  table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                    <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
 <div class="block">Called after the createNamespace operation has been requested.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
@@ -272,7 +283,7 @@
 <div class="block">Called after the createTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers,
@@ -280,89 +291,89 @@
 <div class="block">Called after decommission region servers.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>
 <div class="block">Called after the deleteNamespace operation has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                   <a href="../../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Called after the delete snapshot operation has been requested.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the deleteTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called after disable a replication peer</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the disableTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called after enable a replication peer</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the enableTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="../../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;status)</code>
 <div class="block">Called after get cluster status.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called after a getLocks request has been processed.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                           <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
 <div class="block">Called after a getNamespaceDescriptor request has been processed.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetProcedures</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called after a getProcedures request has been processed.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called after get the configured ReplicationPeerConfig for the specified peer</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableNamesList,
@@ -371,7 +382,7 @@
 <div class="block">Called after a getTableDescriptors request has been processed.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;descriptors,
@@ -379,47 +390,47 @@
 <div class="block">Called after a getTableNames request has been processed.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called after list decommissioned region servers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;descriptors)</code>
 <div class="block">Called after a listNamespaceDescriptors request has been processed.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex)</code>
 <div class="block">Called after list replication peers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Called after listSnapshots request has been processed.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called after heartbeat to a lock.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;c,
                 <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)</code>
 <div class="block">called after merge regions request.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
@@ -427,10 +438,20 @@
 <div class="block">This will be called after META step as part of regions merge transaction.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
-                   <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
+                   <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                   <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;oldNsDescriptor,
+                   <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor)</code>
 <div class="block">Called after the modifyNamespace operation has been requested.</div>
 </td>
 </tr>
@@ -438,12 +459,23 @@
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <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;htd)</code>
-<div class="block">Called after the modifyTable operation has been requested.</div>
+               <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+               <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;oldDescriptor,
+               <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block">Called after the modifyTable operation has been requested.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
         <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
         <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;srcServer,
@@ -451,7 +483,7 @@
 <div class="block">Called after the region move has been requested.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
@@ -459,7 +491,7 @@
 <div class="block">Called after servers are moved to target region server group</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
@@ -468,7 +500,7 @@
 <div class="block">Called after servers are moved to target region server group</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
@@ -476,7 +508,7 @@
 <div class="block">Called after servers are moved to target region server group</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
@@ -484,35 +516,35 @@
 <div class="block">Called after recommission region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
 <div class="block">Called after the region has been marked offline.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called after remove a replication peer</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Called after a region server group is removed</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers)</code>
 <div class="block">Called after servers are removed from rsgroup</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">postRequestLock</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
@@ -522,7 +554,7 @@
 <div class="block">Called after new LockProcedure is queued.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                    <a href="../../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot,
@@ -530,20 +562,20 @@
 <div class="block">Called after a snapshot restore operation has been requested.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)</code>
 <div class="block">This will be called after the roll back of the regions merge.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">This will be called after the roll back of the split region is completed</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
@@ -551,7 +583,7 @@
 <div class="block">Called after the quota for the namespace is stored.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                           boolean&nbsp;newValue,
@@ -559,7 +591,7 @@
 <div class="block">Called after setting split / merge switch</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -567,7 +599,7 @@
 <div class="block">Called after the quota for the table is stored.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
@@ -575,7 +607,7 @@
 <div class="block">Called after the quota for the user is stored.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
@@ -584,7 +616,7 @@
 <div class="block">Called after the quota for the user on the specified namespace is stored.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
@@ -593,7 +625,7 @@
 <div class="block">Called after the quota for the user on the specified table is stored.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
             <a href="../../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot,
@@ -601,28 +633,28 @@
 <div class="block">Called after the snapshot operation has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called immediately after an active master instance has completed
  initialization.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the table memstore is flushed to disk.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the truncateTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
             <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
@@ -630,7 +662,7 @@
 <div class="block">Called after the region unassignment has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
@@ -638,14 +670,14 @@
 <div class="block">Called after update peerConfig for the specified peer</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-long-">preAbortProcedure</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  long&nbsp;procId)</code>
 <div class="block">Called before a abortProcedure request has been processed.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
@@ -653,48 +685,48 @@
 <div class="block">Called before add a replication peer</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Called before a new region server group is added</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
          <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
 <div class="block">Called prior to assigning a specific region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called prior to requesting rebalancing of the cluster regions, though after
  the initial checks for regions in transition and the balance switch flag.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName)</code>
 <div class="block">Called before a region server group is removed</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 boolean&nbsp;newValue)</code>
 <div class="block">Called prior to modifying the flag used to enable/disable region balancing.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called before clear dead region servers.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot,
@@ -702,7 +734,7 @@
 <div class="block">Called before a snapshot is cloned.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                   <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
@@ -710,7 +742,7 @@
  <a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master"><code>HMaster</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
@@ -719,7 +751,7 @@
  <a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master"><code>HMaster</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                     <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
@@ -728,7 +760,7 @@
  <a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master"><code>HMaster</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">preDecommissionRegionServers</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers,
@@ -736,7 +768,7 @@
 <div class="block">Called before decommission region servers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>
@@ -744,14 +776,14 @@
  namespace</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preDeleteSnapshot</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Called before a snapshot is deleted.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
@@ -759,7 +791,7 @@
  table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                     <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
@@ -767,81 +799,81 @@
  table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called before disable a replication peer</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called prior to disabling a table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called prior to disabling a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called before enable a replication peer</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called prior to enabling a table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                     <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Ca

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.html
index 1cef255..ba037f8 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleMasterObserverWithMetrics.html
@@ -288,7 +288,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.u
 til.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.ht
 ml#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Mas
 terObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableN
 ame-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObs
 erver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../.
 ./../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeer
 Config</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-o
 rg.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsComm
 itAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../.
 ./org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org
 .apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.h
 base.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMerg
 eEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.h
 adoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserve
 r.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-long-">preAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocess
 or.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="..
 /../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">preDecommissionRegionServers</a>, <a href="../
 ../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContex
 t-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetClu
 sterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coproce
 ssor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDecommissionedRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coproces
 sor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-java.lang.String-">preLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionIn
 fo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDes
 criptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/c
 oprocessor/MasterObserver.html#preRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">preRecommissionRegionServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">preRemoveServ
 ers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">preRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.a
 pache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lan
 g.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../
 ../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforeMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforeMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a
 >, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.u
 til.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.ht
 ml#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Mas
 terObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.Obse
 rverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.Strin
 g-">postDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPe
 er-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/
 coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServe
 rs</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apac
 he.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.
 apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache
 .hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer
 </a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/
 hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.h
 tml#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org
 /apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hba
 se.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-long-">preAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../../org/apach
 e/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.
 apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">preDecommissionRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org
 .apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../../org/apache/had
 oop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetClusterMetrics</a>, <
 a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors<
 /a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDecommissionedRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-o
 rg.apache.hadoop.hbase.client.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-java.lang.String-">preLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coproces
 sor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/cop
 rocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.
 RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">preRecommissionRegionServer</a>, <a href="../..
 /../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">preRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-
 org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">preRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocesso
 r.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdow
 n-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterMETAAction</a>, <a href="../../../..
 /../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforeMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforeMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTa
 bleAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html b/devapidocs/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html
index b95575b..dd578f4 100644
--- a/devapidocs/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html
+++ b/devapidocs/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html
@@ -266,7 +266,7 @@ extends javax.servlet.http.HttpServlet</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FORMS</h4>
-<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html#line.140">FORMS</a></pre>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html#line.144">FORMS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../constant-values.html#org.apache.hadoop.hbase.http.log.LogLevel.Servlet.FORMS">Constant Field Values</a></dd>
@@ -323,7 +323,7 @@ extends javax.servlet.http.HttpServlet</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>process</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html#line.149">process</a>(org.apache.log4j.Logger&nbsp;log,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html#line.165">process</a>(org.apache.log4j.Logger&nbsp;log,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;level,
                             <a href="https://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)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -339,7 +339,7 @@ extends javax.servlet.http.HttpServlet</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>process</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html#line.163">process</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging">Logger</a>&nbsp;log,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html#line.181">process</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging">Logger</a>&nbsp;log,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;level,
                             <a href="https://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)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/http/log/LogLevel.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/http/log/LogLevel.html b/devapidocs/org/apache/hadoop/hbase/http/log/LogLevel.html
index bd91fec..37f0ca7 100644
--- a/devapidocs/org/apache/hadoop/hbase/http/log/LogLevel.html
+++ b/devapidocs/org/apache/hadoop/hbase/http/log/LogLevel.html
@@ -279,7 +279,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>LogLevel</h4>
-<pre>private&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/http/log/LogLevel.html#line.176">LogLevel</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/http/log/LogLevel.html#line.194">LogLevel</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheStats.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheStats.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheStats.html
index 5212bd3..646308c 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheStats.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/CacheStats.html
@@ -1437,7 +1437,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getHitCachingRatio</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.394">getHitCachingRatio</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.400">getHitCachingRatio</a>()</pre>
 </li>
 </ul>
 <a name="getMissRatio--">
@@ -1446,7 +1446,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getMissRatio</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.398">getMissRatio</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.410">getMissRatio</a>()</pre>
 </li>
 </ul>
 <a name="getMissCachingRatio--">
@@ -1455,7 +1455,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getMissCachingRatio</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.402">getMissCachingRatio</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.420">getMissCachingRatio</a>()</pre>
 </li>
 </ul>
 <a name="evictedPerEviction--">
@@ -1464,7 +1464,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>evictedPerEviction</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.406">evictedPerEviction</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.430">evictedPerEviction</a>()</pre>
 </li>
 </ul>
 <a name="getFailedInserts--">
@@ -1473,7 +1473,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getFailedInserts</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.410">getFailedInserts</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.440">getFailedInserts</a>()</pre>
 </li>
 </ul>
 <a name="rollMetricsPeriod--">
@@ -1482,7 +1482,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>rollMetricsPeriod</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.414">rollMetricsPeriod</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.444">rollMetricsPeriod</a>()</pre>
 </li>
 </ul>
 <a name="getSumHitCountsPastNPeriods--">
@@ -1491,7 +1491,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getSumHitCountsPastNPeriods</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.428">getSumHitCountsPastNPeriods</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.458">getSumHitCountsPastNPeriods</a>()</pre>
 </li>
 </ul>
 <a name="getSumRequestCountsPastNPeriods--">
@@ -1500,7 +1500,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getSumRequestCountsPastNPeriods</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.432">getSumRequestCountsPastNPeriods</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.462">getSumRequestCountsPastNPeriods</a>()</pre>
 </li>
 </ul>
 <a name="getSumHitCachingCountsPastNPeriods--">
@@ -1509,7 +1509,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getSumHitCachingCountsPastNPeriods</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.436">getSumHitCachingCountsPastNPeriods</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.466">getSumHitCachingCountsPastNPeriods</a>()</pre>
 </li>
 </ul>
 <a name="getSumRequestCachingCountsPastNPeriods--">
@@ -1518,7 +1518,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getSumRequestCachingCountsPastNPeriods</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.440">getSumRequestCachingCountsPastNPeriods</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.470">getSumRequestCachingCountsPastNPeriods</a>()</pre>
 </li>
 </ul>
 <a name="getHitRatioPastNPeriods--">
@@ -1527,7 +1527,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getHitRatioPastNPeriods</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.444">getHitRatioPastNPeriods</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.474">getHitRatioPastNPeriods</a>()</pre>
 </li>
 </ul>
 <a name="getHitCachingRatioPastNPeriods--">
@@ -1536,7 +1536,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getHitCachingRatioPastNPeriods</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.450">getHitCachingRatioPastNPeriods</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.480">getHitCachingRatioPastNPeriods</a>()</pre>
 </li>
 </ul>
 <a name="getAgeAtEvictionSnapshot--">
@@ -1545,7 +1545,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getAgeAtEvictionSnapshot</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/AgeSnapshot.html" title="class in org.apache.hadoop.hbase.io.hfile">AgeSnapshot</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.456">getAgeAtEvictionSnapshot</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/AgeSnapshot.html" title="class in org.apache.hadoop.hbase.io.hfile">AgeSnapshot</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.486">getAgeAtEvictionSnapshot</a>()</pre>
 </li>
 </ul>
 <a name="sum-long:A-">
@@ -1554,7 +1554,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>sum</h4>
-<pre>private static&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.460">sum</a>(long[]&nbsp;counts)</pre>
+<pre>private static&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html#line.490">sum</a>(long[]&nbsp;counts)</pre>
 </li>
 </ul>
 </li>

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


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private Histogram remoteRpcCalls

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private Histogram remoteRpc

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterObserverOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterObserverOperation.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterObserverOperation.html
index 8b2674f..274eb54 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterObserverOperation.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterObserverOperation.html
@@ -262,1413 +262,1417 @@
 <span class="sourceLineNo">254</span>    });<a name="line.254"></a>
 <span class="sourceLineNo">255</span>  }<a name="line.255"></a>
 <span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>  public void preModifyNamespace(final NamespaceDescriptor ns) throws IOException {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      @Override<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      public void call(MasterObserver observer) throws IOException {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>        observer.preModifyNamespace(this, ns);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    });<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  }<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public void postModifyNamespace(final NamespaceDescriptor ns) throws IOException {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      @Override<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      public void call(MasterObserver observer) throws IOException {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        observer.postModifyNamespace(this, ns);<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>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  public void preGetNamespaceDescriptor(final String namespaceName)<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      throws IOException {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      @Override<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      public void call(MasterObserver observer) throws IOException {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        observer.preGetNamespaceDescriptor(this, namespaceName);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    });<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  }<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public void postGetNamespaceDescriptor(final NamespaceDescriptor ns)<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      throws IOException {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void call(MasterObserver observer) throws IOException {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        observer.postGetNamespaceDescriptor(this, ns);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    });<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  }<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>  public void preListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      throws IOException {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      @Override<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      public void call(MasterObserver observer) throws IOException {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        observer.preListNamespaceDescriptors(this, descriptors);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      }<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    });<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  public void postListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      throws IOException {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      @Override<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      public void call(MasterObserver observer) throws IOException {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        observer.postListNamespaceDescriptors(this, descriptors);<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><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  /* Implementation of hooks for invoking MasterObservers */<a name="line.315"></a>
+<span class="sourceLineNo">257</span>  public void preModifyNamespace(final NamespaceDescriptor currentNsDescriptor,<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    final NamespaceDescriptor newNsDescriptor) throws IOException {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      @Override<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      public void call(MasterObserver observer) throws IOException {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        observer.preModifyNamespace(this, currentNsDescriptor, newNsDescriptor);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      }<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    });<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  public void postModifyNamespace(final NamespaceDescriptor oldNsDescriptor,<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    final NamespaceDescriptor currentNsDescriptor) throws IOException {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      @Override<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      public void call(MasterObserver observer) throws IOException {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>        observer.postModifyNamespace(this, oldNsDescriptor, currentNsDescriptor);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      }<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    });<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  }<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>  public void preGetNamespaceDescriptor(final String namespaceName)<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      throws IOException {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      @Override<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      public void call(MasterObserver observer) throws IOException {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        observer.preGetNamespaceDescriptor(this, namespaceName);<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>  public void postGetNamespaceDescriptor(final NamespaceDescriptor ns)<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      throws IOException {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      @Override<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      public void call(MasterObserver observer) throws IOException {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>        observer.postGetNamespaceDescriptor(this, ns);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      }<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    });<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>  public void preListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.297"></a>
+<span class="sourceLineNo">298</span>      throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      @Override<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      public void call(MasterObserver observer) throws IOException {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>        observer.preListNamespaceDescriptors(this, descriptors);<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    });<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>  public void postListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      throws IOException {<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      @Override<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      public void call(MasterObserver observer) throws IOException {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        observer.postListNamespaceDescriptors(this, descriptors);<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      }<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    });<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
 <span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  public void preCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      throws IOException {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      @Override<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      public void call(MasterObserver observer) throws IOException {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        observer.preCreateTable(this, htd, regions);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    });<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public void postCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      @Override<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      public void call(MasterObserver observer) throws IOException {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>        observer.postCreateTable(this, htd, regions);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      }<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    });<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  }<a name="line.335"></a>
-<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public void preCreateTableAction(final TableDescriptor htd, final RegionInfo[] regions,<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      final User user) throws IOException {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      public void call(MasterObserver observer) throws IOException {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>        observer.preCreateTableAction(this, htd, regions);<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>  }<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>  public void postCompletedCreateTableAction(<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      final TableDescriptor htd, final RegionInfo[] regions, final User user) throws IOException {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      public void call(MasterObserver observer) throws IOException {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>        observer.postCompletedCreateTableAction(this, htd, regions);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    });<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  }<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>  public void preDeleteTable(final TableName tableName) throws IOException {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      @Override<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      public void call(MasterObserver observer) throws IOException {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        observer.preDeleteTable(this, tableName);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    });<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
-<span class="sourceLineNo">365</span><a name="line.365"></a>
-<span class="sourceLineNo">366</span>  public void postDeleteTable(final TableName tableName) throws IOException {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      public void call(MasterObserver observer) throws IOException {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        observer.postDeleteTable(this, tableName);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      }<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    });<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public void preDeleteTableAction(final TableName tableName, final User user) throws IOException {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      @Override<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      public void call(MasterObserver observer) throws IOException {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        observer.preDeleteTableAction(this, tableName);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    });<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  public void postCompletedDeleteTableAction(final TableName tableName, final User user)<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      throws IOException {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      @Override<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      public void call(MasterObserver observer) throws IOException {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>        observer.postCompletedDeleteTableAction(this, tableName);<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>  public void preTruncateTable(final TableName tableName) throws IOException {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      @Override<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      public void call(MasterObserver observer) throws IOException {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        observer.preTruncateTable(this, tableName);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      }<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    });<a name="line.400"></a>
-<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
-<span class="sourceLineNo">402</span><a name="line.402"></a>
-<span class="sourceLineNo">403</span>  public void postTruncateTable(final TableName tableName) throws IOException {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      public void call(MasterObserver observer) throws IOException {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        observer.postTruncateTable(this, tableName);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      }<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    });<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  }<a name="line.410"></a>
-<span class="sourceLineNo">411</span><a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public void preTruncateTableAction(final TableName tableName, final User user)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      throws IOException {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      @Override<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      public void call(MasterObserver observer) throws IOException {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        observer.preTruncateTableAction(this, tableName);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      }<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    });<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  public void postCompletedTruncateTableAction(final TableName tableName, final User user)<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      throws IOException {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      public void call(MasterObserver observer) throws IOException {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        observer.postCompletedTruncateTableAction(this, tableName);<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      }<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    });<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public void preModifyTable(final TableName tableName, final TableDescriptor htd)<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      throws IOException {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      @Override<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      public void call(MasterObserver observer) throws IOException {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        observer.preModifyTable(this, tableName, htd);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    });<a name="line.439"></a>
-<span class="sourceLineNo">440</span>  }<a name="line.440"></a>
-<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public void postModifyTable(final TableName tableName, final TableDescriptor htd)<a name="line.442"></a>
-<span class="sourceLineNo">443</span>      throws IOException {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      public void call(MasterObserver observer) throws IOException {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        observer.postModifyTable(this, tableName, htd);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      }<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    });<a name="line.449"></a>
-<span class="sourceLineNo">450</span>  }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public void preModifyTableAction(final TableName tableName, final TableDescriptor htd,<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      final User user) throws IOException {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      @Override<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      public void call(MasterObserver observer) throws IOException {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        observer.preModifyTableAction(this, tableName, htd);<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>  }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span>  public void postCompletedModifyTableAction(final TableName tableName, final TableDescriptor htd,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      final User user) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      @Override<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      public void call(MasterObserver observer) throws IOException {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>        observer.postCompletedModifyTableAction(this, tableName, htd);<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      }<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    });<a name="line.469"></a>
-<span class="sourceLineNo">470</span>  }<a name="line.470"></a>
-<span class="sourceLineNo">471</span><a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public void preEnableTable(final TableName tableName) throws IOException {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      @Override<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      public void call(MasterObserver observer) throws IOException {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        observer.preEnableTable(this, tableName);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      }<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    });<a name="line.478"></a>
-<span class="sourceLineNo">479</span>  }<a name="line.479"></a>
-<span class="sourceLineNo">480</span><a name="line.480"></a>
-<span class="sourceLineNo">481</span>  public void postEnableTable(final TableName tableName) throws IOException {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      @Override<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      public void call(MasterObserver observer) throws IOException {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>        observer.postEnableTable(this, tableName);<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>  public void preEnableTableAction(final TableName tableName, final User user) throws IOException {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      @Override<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      public void call(MasterObserver observer) throws IOException {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        observer.preEnableTableAction(this, tableName);<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    });<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  }<a name="line.497"></a>
-<span class="sourceLineNo">498</span><a name="line.498"></a>
-<span class="sourceLineNo">499</span>  public void postCompletedEnableTableAction(final TableName tableName, final User user)<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      throws IOException {<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      @Override<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      public void call(MasterObserver observer) throws IOException {<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        observer.postCompletedEnableTableAction(this, tableName);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      }<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    });<a name="line.506"></a>
-<span class="sourceLineNo">507</span>  }<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>  public void preDisableTable(final TableName tableName) throws IOException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      @Override<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      public void call(MasterObserver observer) throws IOException {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        observer.preDisableTable(this, tableName);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    });<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>  public void postDisableTable(final TableName tableName) throws IOException {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      @Override<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      public void call(MasterObserver observer) throws IOException {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        observer.postDisableTable(this, tableName);<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      }<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    });<a name="line.524"></a>
-<span class="sourceLineNo">525</span>  }<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public void preDisableTableAction(final TableName tableName, final User user) throws IOException {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      public void call(MasterObserver observer) throws IOException {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        observer.preDisableTableAction(this, tableName);<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 name="line.535"></a>
-<span class="sourceLineNo">536</span>  public void postCompletedDisableTableAction(final TableName tableName, final User user)<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      throws IOException {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>      public void call(MasterObserver observer) throws IOException {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        observer.postCompletedDisableTableAction(this, tableName);<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><a name="line.545"></a>
-<span class="sourceLineNo">546</span>  public void preAbortProcedure(<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      final ProcedureExecutor&lt;MasterProcedureEnv&gt; procEnv,<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      final long procId) throws IOException {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      @Override<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      public void call(MasterObserver observer) throws IOException {<a name="line.551"></a>
-<span class="sourceLineNo">552</span>        observer.preAbortProcedure(this,  procId);<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>  public void postAbortProcedure() throws IOException {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>      @Override<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      public void call(MasterObserver observer) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>        observer.postAbortProcedure(this);<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      }<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    });<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  }<a name="line.564"></a>
-<span class="sourceLineNo">565</span><a name="line.565"></a>
-<span class="sourceLineNo">566</span>  public void preGetProcedures() throws IOException {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      @Override<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      public void call(MasterObserver observer) throws IOException {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>        observer.preGetProcedures(this);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>      }<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    });<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  }<a name="line.573"></a>
-<span class="sourceLineNo">574</span><a name="line.574"></a>
-<span class="sourceLineNo">575</span>  public void postGetProcedures(final List&lt;Procedure&lt;?&gt;&gt; procInfoList) throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      public void call(MasterObserver observer) throws IOException {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>        observer.postGetProcedures(this);<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>  public void preGetLocks() throws IOException {<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      @Override<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      public void call(MasterObserver observer) throws IOException {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        observer.preGetLocks(this);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    });<a name="line.590"></a>
-<span class="sourceLineNo">591</span>  }<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>  public void postGetLocks(final List&lt;LockedResource&gt; lockedResources) throws IOException {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      @Override<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      public void call(MasterObserver observer) throws IOException {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        observer.postGetLocks(this);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      }<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    });<a name="line.599"></a>
-<span class="sourceLineNo">600</span>  }<a name="line.600"></a>
-<span class="sourceLineNo">601</span><a name="line.601"></a>
-<span class="sourceLineNo">602</span>  public void preMove(final RegionInfo region, final ServerName srcServer,<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      final ServerName destServer) throws IOException {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.604"></a>
-<span class="sourceLineNo">605</span>      @Override<a name="line.605"></a>
-<span class="sourceLineNo">606</span>      public void call(MasterObserver observer) throws IOException {<a name="line.606"></a>
-<span class="sourceLineNo">607</span>        observer.preMove(this, region, srcServer, destServer);<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      }<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    });<a name="line.609"></a>
-<span class="sourceLineNo">610</span>  }<a name="line.610"></a>
-<span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>  public void postMove(final RegionInfo region, final ServerName srcServer,<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      final ServerName destServer) throws IOException {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      @Override<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      public void call(MasterObserver observer) throws IOException {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>        observer.postMove(this, region, srcServer, destServer);<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>  }<a name="line.620"></a>
-<span class="sourceLineNo">621</span><a name="line.621"></a>
-<span class="sourceLineNo">622</span>  public void preAssign(final RegionInfo regionInfo) throws IOException {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      @Override<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      public void call(MasterObserver observer) throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>        observer.preAssign(this, regionInfo);<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>  public void postAssign(final RegionInfo regionInfo) throws IOException {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.632"></a>
-<span class="sourceLineNo">633</span>      @Override<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      public void call(MasterObserver observer) throws IOException {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        observer.postAssign(this, regionInfo);<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>  }<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>  public void preUnassign(final RegionInfo regionInfo, final boolean force)<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      throws IOException {<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      @Override<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      public void call(MasterObserver observer) throws IOException {<a name="line.644"></a>
-<span class="sourceLineNo">645</span>        observer.preUnassign(this, regionInfo, force);<a name="line.645"></a>
-<span class="sourceLineNo">646</span>      }<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    });<a name="line.647"></a>
-<span class="sourceLineNo">648</span>  }<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span>  public void postUnassign(final RegionInfo regionInfo, final boolean force) throws IOException {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      @Override<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      public void call(MasterObserver observer) throws IOException {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        observer.postUnassign(this, regionInfo, force);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>      }<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    });<a name="line.656"></a>
-<span class="sourceLineNo">657</span>  }<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>  public void preRegionOffline(final RegionInfo regionInfo) throws IOException {<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      @Override<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      public void call(MasterObserver observer) throws IOException {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        observer.preRegionOffline(this, regionInfo);<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      }<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    });<a name="line.665"></a>
-<span class="sourceLineNo">666</span>  }<a name="line.666"></a>
-<span class="sourceLineNo">667</span><a name="line.667"></a>
-<span class="sourceLineNo">668</span>  public void postRegionOffline(final RegionInfo regionInfo) throws IOException {<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      @Override<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      public void call(MasterObserver observer) throws IOException {<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        observer.postRegionOffline(this, regionInfo);<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      }<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    });<a name="line.674"></a>
-<span class="sourceLineNo">675</span>  }<a name="line.675"></a>
-<span class="sourceLineNo">676</span><a name="line.676"></a>
-<span class="sourceLineNo">677</span>  public void preMergeRegions(final RegionInfo[] regionsToMerge)<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      throws IOException {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      @Override<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      public void call(MasterObserver observer) throws IOException {<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        observer.preMergeRegions(this, regionsToMerge);<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>  }<a name="line.685"></a>
-<span class="sourceLineNo">686</span><a name="line.686"></a>
-<span class="sourceLineNo">687</span>  public void postMergeRegions(final RegionInfo[] regionsToMerge)<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throws IOException {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      @Override<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      public void call(MasterObserver observer) throws IOException {<a name="line.691"></a>
-<span class="sourceLineNo">692</span>        observer.postMergeRegions(this, regionsToMerge);<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><a name="line.696"></a>
-<span class="sourceLineNo">697</span>  public boolean preBalance() throws IOException {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      @Override<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      public void call(MasterObserver observer) throws IOException {<a name="line.700"></a>
-<span class="sourceLineNo">701</span>        observer.preBalance(this);<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      }<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    });<a name="line.703"></a>
-<span class="sourceLineNo">704</span>  }<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>  public void postBalance(final List&lt;RegionPlan&gt; plans) throws IOException {<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      @Override<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      public void call(MasterObserver observer) throws IOException {<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        observer.postBalance(this, plans);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      }<a name="line.711"></a>
-<span class="sourceLineNo">712</span>    });<a name="line.712"></a>
-<span class="sourceLineNo">713</span>  }<a name="line.713"></a>
-<span class="sourceLineNo">714</span><a name="line.714"></a>
-<span class="sourceLineNo">715</span>  public void preSetSplitOrMergeEnabled(final boolean newValue,<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      final MasterSwitchType switchType) throws IOException {<a name="line.716"></a>
-<span class="sourceLineNo">717</span>    execOperation(coprocEnvironments.isEmpty()? null: new MasterObserverOperation() {<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      @Override<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      public void call(MasterObserver observer) throws IOException {<a name="line.719"></a>
-<span class="sourceLineNo">720</span>        observer.preSetSplitOrMergeEnabled(this, newValue, switchType);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      }<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    });<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  }<a name="line.723"></a>
-<span class="sourceLineNo">724</span><a name="line.724"></a>
-<span class="sourceLineNo">725</span>  public void postSetSplitOrMergeEnabled(final boolean newValue,<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      final MasterSwitchType switchType) throws IOException {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      @Override<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      public void call(MasterObserver observer) throws IOException {<a name="line.729"></a>
-<span class="sourceLineNo">730</span>        observer.postSetSplitOrMergeEnabled(this, newValue, switchType);<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    });<a name="line.732"></a>
-<span class="sourceLineNo">733</span>  }<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>   * Invoked just before calling the split region procedure<a name="line.736"></a>
-<span class="sourceLineNo">737</span>   * @param tableName the table where the region belongs to<a name="line.737"></a>
-<span class="sourceLineNo">738</span>   * @param splitRow the split point<a name="line.738"></a>
-<span class="sourceLineNo">739</span>   * @throws IOException<a name="line.739"></a>
-<span class="sourceLineNo">740</span>   */<a name="line.740"></a>
-<span class="sourceLineNo">741</span>  public void preSplitRegion(<a name="line.741"></a>
-<span class="sourceLineNo">742</span>      final TableName tableName,<a name="line.742"></a>
-<span class="sourceLineNo">743</span>      final byte[] splitRow) throws IOException {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      @Override<a name="line.745"></a>
-<span class="sourceLineNo">746</span>      public void call(MasterObserver observer) throws IOException {<a name="line.746"></a>
-<span class="sourceLineNo">747</span>        observer.preSplitRegion(this, tableName, splitRow);<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>  }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>  /**<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   * Invoked just before a split<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   * @param tableName the table where the region belongs to<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   * @param splitRow the split point<a name="line.755"></a>
-<span class="sourceLineNo">756</span>   * @param user the user<a name="line.756"></a>
-<span class="sourceLineNo">757</span>   * @throws IOException<a name="line.757"></a>
-<span class="sourceLineNo">758</span>   */<a name="line.758"></a>
-<span class="sourceLineNo">759</span>  public void preSplitRegionAction(<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      final TableName tableName,<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      final byte[] splitRow,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      final User user) throws IOException {<a name="line.762"></a>
-<span class="sourceLineNo">763</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      @Override<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      public void call(MasterObserver observer) throws IOException {<a name="line.765"></a>
-<span class="sourceLineNo">766</span>        observer.preSplitRegionAction(this, tableName, splitRow);<a name="line.766"></a>
-<span class="sourceLineNo">767</span>      }<a name="line.767"></a>
-<span class="sourceLineNo">768</span>    });<a name="line.768"></a>
-<span class="sourceLineNo">769</span>  }<a name="line.769"></a>
-<span class="sourceLineNo">770</span><a name="line.770"></a>
-<span class="sourceLineNo">771</span>  /**<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   * Invoked just after a split<a name="line.772"></a>
-<span class="sourceLineNo">773</span>   * @param regionInfoA the new left-hand daughter region<a name="line.773"></a>
-<span class="sourceLineNo">774</span>   * @param regionInfoB the new right-hand daughter region<a name="line.774"></a>
-<span class="sourceLineNo">775</span>   * @param user the user<a name="line.775"></a>
-<span class="sourceLineNo">776</span>   * @throws IOException<a name="line.776"></a>
-<span class="sourceLineNo">777</span>   */<a name="line.777"></a>
-<span class="sourceLineNo">778</span>  public void postCompletedSplitRegionAction(<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      final RegionInfo regionInfoA,<a name="line.779"></a>
-<span class="sourceLineNo">780</span>      final RegionInfo regionInfoB,<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      final User user) throws IOException {<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.782"></a>
-<span class="sourceLineNo">783</span>      @Override<a name="line.783"></a>
-<span class="sourceLineNo">784</span>      public void call(MasterObserver observer) throws IOException {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>        observer.postCompletedSplitRegionAction(this, regionInfoA, regionInfoB);<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      }<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    });<a name="line.787"></a>
-<span class="sourceLineNo">788</span>  }<a name="line.788"></a>
-<span class="sourceLineNo">789</span><a name="line.789"></a>
-<span class="sourceLineNo">790</span>  /**<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   * This will be called before update META step as part of split table region procedure.<a name="line.791"></a>
-<span class="sourceLineNo">792</span>   * @param splitKey<a name="line.792"></a>
-<span class="sourceLineNo">793</span>   * @param metaEntries<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * @param user the user<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   * @throws IOException<a name="line.795"></a>
-<span class="sourceLineNo">796</span>   */<a name="line.796"></a>
-<span class="sourceLineNo">797</span>  public void preSplitBeforeMETAAction(<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      final byte[] splitKey,<a name="line.798"></a>
-<span class="sourceLineNo">799</span>      final List&lt;Mutation&gt; metaEntries,<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      final User user) throws IOException {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      @Override<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      public void call(MasterObserver observer) throws IOException {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        observer.preSplitRegionBeforeMETAAction(this, splitKey, metaEntries);<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      }<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    });<a name="line.806"></a>
-<span class="sourceLineNo">807</span>  }<a name="line.807"></a>
-<span class="sourceLineNo">808</span><a name="line.808"></a>
-<span class="sourceLineNo">809</span>  /**<a name="line.809"></a>
-<span class="sourceLineNo">810</span>   * This will be called after update META step as part of split table region procedure.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>   * @param user the user<a name="line.811"></a>
-<span class="sourceLineNo">812</span>   * @throws IOException<a name="line.812"></a>
-<span class="sourceLineNo">813</span>   */<a name="line.813"></a>
-<span class="sourceLineNo">814</span>  public void preSplitAfterMETAAction(final User user) throws IOException {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.815"></a>
-<span class="sourceLineNo">816</span>      @Override<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      public void call(MasterObserver observer) throws IOException {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        observer.preSplitRegionAfterMETAAction(this);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>      }<a name="line.819"></a>
-<span class="sourceLineNo">820</span>    });<a name="line.820"></a>
-<span class="sourceLineNo">821</span>  }<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>  /**<a name="line.823"></a>
-<span class="sourceLineNo">824</span>   * Invoked just after the rollback of a failed split<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   * @param user the user<a name="line.825"></a>
-<span class="sourceLineNo">826</span>   * @throws IOException<a name="line.826"></a>
-<span class="sourceLineNo">827</span>   */<a name="line.827"></a>
-<span class="sourceLineNo">828</span>  public void postRollBackSplitRegionAction(final User user) throws IOException {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      @Override<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      public void call(MasterObserver observer) throws IOException {<a name="line.831"></a>
-<span class="sourceLineNo">832</span>        observer.postRollBackSplitRegionAction(this);<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      }<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    });<a name="line.834"></a>
-<span class="sourceLineNo">835</span>  }<a name="line.835"></a>
-<span class="sourceLineNo">836</span><a name="line.836"></a>
-<span class="sourceLineNo">837</span>  /**<a name="line.837"></a>
-<span class="sourceLineNo">838</span>   * Invoked just before a merge<a name="line.838"></a>
-<span class="sourceLineNo">839</span>   * @param regionsToMerge the regions to merge<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * @param user the user<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * @throws IOException<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public void preMergeRegionsAction(<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      final RegionInfo[] regionsToMerge, final User user) throws IOException {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>      @Override<a name="line.846"></a>
-<span class="sourceLineNo">847</span>      public void call(MasterObserver observer) throws IOException {<a name="line.847"></a>
-<span class="sourceLineNo">848</span>        observer.preMergeRegionsAction(this, regionsToMerge);<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      }<a name="line.849"></a>
-<span class="sourceLineNo">850</span>    });<a name="line.850"></a>
-<span class="sourceLineNo">851</span>  }<a name="line.851"></a>
-<span class="sourceLineNo">852</span><a name="line.852"></a>
-<span class="sourceLineNo">853</span>  /**<a name="line.853"></a>
-<span class="sourceLineNo">854</span>   * Invoked after completing merge regions operation<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   * @param regionsToMerge the regions to merge<a name="line.855"></a>
-<span class="sourceLineNo">856</span>   * @param mergedRegion the new merged region<a name="line.856"></a>
-<span class="sourceLineNo">857</span>   * @param user the user<a name="line.857"></a>
-<span class="sourceLineNo">858</span>   * @throws IOException<a name="line.858"></a>
-<span class="sourceLineNo">859</span>   */<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  public void postCompletedMergeRegionsAction(<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      final RegionInfo[] regionsToMerge,<a name="line.861"></a>
-<span class="sourceLineNo">862</span>      final RegionInfo mergedRegion,<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      final User user) throws IOException {<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      @Override<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      public void call(MasterObserver observer) throws IOException {<a name="line.866"></a>
-<span class="sourceLineNo">867</span>        observer.postCompletedMergeRegionsAction(this, regionsToMerge, mergedRegion);<a name="line.867"></a>
-<span class="sourceLineNo">868</span>      }<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    });<a name="line.869"></a>
-<span class="sourceLineNo">870</span>  }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>  /**<a name="line.872"></a>
-<span class="sourceLineNo">873</span>   * Invoked before merge regions operation writes the new region to hbase:meta<a name="line.873"></a>
-<span class="sourceLineNo">874</span>   * @param regionsToMerge the regions to merge<a name="line.874"></a>
-<span class="sourceLineNo">875</span>   * @param metaEntries the meta entry<a name="line.875"></a>
-<span class="sourceLineNo">876</span>   * @param user the user<a name="line.876"></a>
-<span class="sourceLineNo">877</span>   * @throws IOException<a name="line.877"></a>
-<span class="sourceLineNo">878</span>   */<a name="line.878"></a>
-<span class="sourceLineNo">879</span>  public void preMergeRegionsCommit(<a name="line.879"></a>
-<span class="sourceLineNo">880</span>      final RegionInfo[] regionsToMerge,<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      final @MetaMutationAnnotation List&lt;Mutation&gt; metaEntries,<a name="line.881"></a>
-<span class="sourceLineNo">882</span>      final User user) throws IOException {<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      @Override<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      public void call(MasterObserver observer) throws IOException {<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        observer.preMergeRegionsCommitAction(this, regionsToMerge, metaEntries);<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      }<a name="line.887"></a>
-<span class="sourceLineNo">888</span>    });<a name="line.888"></a>
-<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
-<span class="sourceLineNo">890</span><a name="line.890"></a>
-<span class="sourceLineNo">891</span>  /**<a name="line.891"></a>
-<span class="sourceLineNo">892</span>   * Invoked after merge regions operation writes the new region to hbase:meta<a name="line.892"></a>
-<span class="sourceLineNo">893</span>   * @param regionsToMerge the regions to merge<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   * @param mergedRegion the new merged region<a name="line.894"></a>
-<span class="sourceLineNo">895</span>   * @param user the user<a name="line.895"></a>
-<span class="sourceLineNo">896</span>   * @throws IOException<a name="line.896"></a>
-<span class="sourceLineNo">897</span>   */<a name="line.897"></a>
-<span class="sourceLineNo">898</span>  public void postMergeRegionsCommit(<a name="line.898"></a>
-<span class="sourceLineNo">899</span>      final RegionInfo[] regionsToMerge,<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      final RegionInfo mergedRegion,<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      final User user) throws IOException {<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.902"></a>
-<span class="sourceLineNo">903</span>      @Override<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      public void call(MasterObserver observer) throws IOException {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        observer.postMergeRegionsCommitAction(this, regionsToMerge, mergedRegion);<a name="line.905"></a>
-<span class="sourceLineNo">906</span>      }<a name="line.906"></a>
-<span class="sourceLineNo">907</span>    });<a name="line.907"></a>
-<span class="sourceLineNo">908</span>  }<a name="line.908"></a>
-<span class="sourceLineNo">909</span><a name="line.909"></a>
-<span class="sourceLineNo">910</span>  /**<a name="line.910"></a>
-<span class="sourceLineNo">911</span>   * Invoked after rollback merge regions operation<a name="line.911"></a>
-<span class="sourceLineNo">912</span>   * @param regionsToMerge the regions to merge<a name="line.912"></a>
-<span class="sourceLineNo">913</span>   * @param user the user<a name="line.913"></a>
-<span class="sourceLineNo">914</span>   * @throws IOException<a name="line.914"></a>
-<span class="sourceLineNo">915</span>   */<a name="line.915"></a>
-<span class="sourceLineNo">916</span>  public void postRollBackMergeRegionsAction(<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      final RegionInfo[] regionsToMerge, final User user) throws IOException {<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>      @Override<a name="line.919"></a>
-<span class="sourceLineNo">920</span>      public void call(MasterObserver observer) throws IOException {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>        observer.postRollBackMergeRegionsAction(this, regionsToMerge);<a name="line.921"></a>
-<span class="sourceLineNo">922</span>      }<a name="line.922"></a>
-<span class="sourceLineNo">923</span>    });<a name="line.923"></a>
-<span class="sourceLineNo">924</span>  }<a name="line.924"></a>
-<span class="sourceLineNo">925</span><a name="line.925"></a>
-<span class="sourceLineNo">926</span>  // This hook allows Coprocessor change value of balance switch.<a name="line.926"></a>
-<span class="sourceLineNo">927</span>  public void preBalanceSwitch(final boolean b) throws IOException {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>    if (this.coprocEnvironments.isEmpty()) {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span>    execOperation(new MasterObserverOperation() {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>      @Override<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      public void call(MasterObserver observer) throws IOException {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        observer.preBalanceSwitch(this, b);<a name="line.934"></a>
-<span class="sourceLineNo">935</span>      }<a name="line.935"></a>
-<span class="sourceLineNo">936</span>    });<a name="line.936"></a>
-<span class="sourceLineNo">937</span>  }<a name="line.937"></a>
-<span class="sourceLineNo">938</span><a name="line.938"></a>
-<span class="sourceLineNo">939</span>  public void postBalanceSwitch(final boolean oldValue, final boolean newValue)<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      throws IOException {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.941"></a>
-<span class="sourceLineNo">942</span>      @Override<a name="line.942"></a>
-<span class="sourceLineNo">943</span>      public void call(MasterObserver observer) throws IOException {<a name="line.943"></a>
-<span class="sourceLineNo">944</span>        observer.postBalanceSwitch(this, oldValue, newValue);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      }<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    });<a name="line.946"></a>
-<span class="sourceLineNo">947</span>  }<a name="line.947"></a>
-<span class="sourceLineNo">948</span><a name="line.948"></a>
-<span class="sourceLineNo">949</span>  public void preShutdown() throws IOException {<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    // While stopping the cluster all coprocessors method should be executed first then the<a name="line.950"></a>
-<span class="sourceLineNo">951</span>    // coprocessor should be cleaned up.<a name="line.951"></a>
-<span class="sourceLineNo">952</span>    if (coprocEnvironments.isEmpty()) {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    execShutdown(new MasterObserverOperation() {<a name="line.955"></a>
-<span class="sourceLineNo">956</span>      @Override<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      public void call(MasterObserver observer) throws IOException {<a name="line.957"></a>
-<span class="sourceLineNo">958</span>        observer.preShutdown(this);<a name="line.958"></a>
-<span class="sourceLineNo">959</span>      }<a name="line.959"></a>
+<span class="sourceLineNo">317</span>  /* Implementation of hooks for invoking MasterObservers */<a name="line.317"></a>
+<span class="sourceLineNo">318</span><a name="line.318"></a>
+<span class="sourceLineNo">319</span>  public void preCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      throws IOException {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      @Override<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      public void call(MasterObserver observer) throws IOException {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        observer.preCreateTable(this, htd, regions);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      }<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    });<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  public void postCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      throws IOException {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      public void call(MasterObserver observer) throws IOException {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>        observer.postCreateTable(this, htd, regions);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    });<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  }<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  public void preCreateTableAction(final TableDescriptor htd, final RegionInfo[] regions,<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      final User user) throws IOException {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>      @Override<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      public void call(MasterObserver observer) throws IOException {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        observer.preCreateTableAction(this, htd, regions);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      }<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    });<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  }<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>  public void postCompletedCreateTableAction(<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      final TableDescriptor htd, final RegionInfo[] regions, final User user) throws IOException {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      @Override<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      public void call(MasterObserver observer) throws IOException {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        observer.postCompletedCreateTableAction(this, htd, regions);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      }<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    });<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  public void preDeleteTable(final TableName tableName) throws IOException {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      @Override<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      public void call(MasterObserver observer) throws IOException {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        observer.preDeleteTable(this, tableName);<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><a name="line.367"></a>
+<span class="sourceLineNo">368</span>  public void postDeleteTable(final TableName tableName) throws IOException {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      @Override<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      public void call(MasterObserver observer) throws IOException {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>        observer.postDeleteTable(this, tableName);<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      }<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    });<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span>  public void preDeleteTableAction(final TableName tableName, final User user) throws IOException {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      @Override<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      public void call(MasterObserver observer) throws IOException {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>        observer.preDeleteTableAction(this, tableName);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    });<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  public void postCompletedDeleteTableAction(final TableName tableName, final User user)<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      throws IOException {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      @Override<a name="line.389"></a>
+<span class="sourceLineNo">390</span>      public void call(MasterObserver observer) throws IOException {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        observer.postCompletedDeleteTableAction(this, tableName);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    });<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
+<span class="sourceLineNo">395</span><a name="line.395"></a>
+<span class="sourceLineNo">396</span>  public void preTruncateTable(final TableName tableName) throws IOException {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      @Override<a name="line.398"></a>
+<span class="sourceLineNo">399</span>      public void call(MasterObserver observer) throws IOException {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        observer.preTruncateTable(this, tableName);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      }<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    });<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>  public void postTruncateTable(final TableName tableName) throws IOException {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      @Override<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      public void call(MasterObserver observer) throws IOException {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>        observer.postTruncateTable(this, tableName);<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    });<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>  public void preTruncateTableAction(final TableName tableName, final User user)<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      throws IOException {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.416"></a>
+<span class="sourceLineNo">417</span>      @Override<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      public void call(MasterObserver observer) throws IOException {<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        observer.preTruncateTableAction(this, tableName);<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      }<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    });<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
+<span class="sourceLineNo">423</span><a name="line.423"></a>
+<span class="sourceLineNo">424</span>  public void postCompletedTruncateTableAction(final TableName tableName, final User user)<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      throws IOException {<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      @Override<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      public void call(MasterObserver observer) throws IOException {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>        observer.postCompletedTruncateTableAction(this, tableName);<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      }<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    });<a name="line.431"></a>
+<span class="sourceLineNo">432</span>  }<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>  public void preModifyTable(final TableName tableName, final TableDescriptor currentDescriptor,<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    final TableDescriptor newDescriptor) throws IOException {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      @Override<a name="line.437"></a>
+<span class="sourceLineNo">438</span>      public void call(MasterObserver observer) throws IOException {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>        observer.preModifyTable(this, tableName, currentDescriptor, newDescriptor);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    });<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  }<a name="line.442"></a>
+<span class="sourceLineNo">443</span><a name="line.443"></a>
+<span class="sourceLineNo">444</span>  public void postModifyTable(final TableName tableName, final TableDescriptor oldDescriptor,<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    final TableDescriptor currentDescriptor) throws IOException {<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      @Override<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      public void call(MasterObserver observer) throws IOException {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>        observer.postModifyTable(this, tableName, oldDescriptor, currentDescriptor);<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><a name="line.453"></a>
+<span class="sourceLineNo">454</span>  public void preModifyTableAction(final TableName tableName,<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    final TableDescriptor currentDescriptor, final TableDescriptor newDescriptor, final User user)<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    throws IOException {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      @Override<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      public void call(MasterObserver observer) throws IOException {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>        observer.preModifyTableAction(this, tableName, currentDescriptor, newDescriptor);<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
+<span class="sourceLineN

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private Histogram remoteRpcCallsHistogram;<a name="line.1079"></a>
-<span cla

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.FailingSplitMasterObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.FailingSplitMasterObserver.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.FailingSplitMasterObserver.html
index 93820c0..d375e8c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.FailingSplitMasterObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.FailingSplitMasterObserver.html
@@ -230,7 +230,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNam
 espace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction,
  preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRe
 gionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableA
 ction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preStopMaster, pr
 eTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/security/access/SecureTestUtil.MasterSyncObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/access/SecureTestUtil.MasterSyncObserver.html b/testdevapidocs/org/apache/hadoop/hbase/security/access/SecureTestUtil.MasterSyncObserver.html
index 7654ed9..5fbe3a6 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/security/access/SecureTestUtil.MasterSyncObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/access/SecureTestUtil.MasterSyncObserver.html
@@ -235,7 +235,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyTable, postMove, postMoveServers, postMoveServ
 ersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, p
 reGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyNamespace, pos
 tModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableA
 ction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, p
 reTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController2.MyAccessController.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController2.MyAccessController.html b/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController2.MyAccessController.html
index f5ba075..b463e0d 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController2.MyAccessController.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController2.MyAccessController.html
@@ -203,7 +203,7 @@ extends org.apache.hadoop.hbase.security.access.AccessController</pre>
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteSnapshot, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postListDecommissionedRegionServers, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveR
 SGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postTableFlush, postUnassign, postUpdateReplicationPeerConfig, preAddRSGroup, preBalanceRSGroup, preCreateTableAction, preDeleteTableAction, preDisableTableAction, preEnableTableAction, preGetClusterMetrics, preGetTableNames, preListNamespaceDescriptors, preMasterInitialization, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyTableAction, preMoveServers, preMoveServersAndTables, preMoveTables, preRemoveRSGroup, preRemoveServers, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preTruncateTableAction</code></li>
+<code>postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteSnapshot, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postListDecommissionedRegionServers, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionR
 egionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postTableFlush, postUnassign, postUpdateReplicationPeerConfig, preAddRSGroup, preBalanceRSGroup, preCreateTableAction, preDeleteTableAction, preDisableTableAction, preEnableTableAction, preGetClusterMetrics, preGetTableNames, preListNamespaceDescriptors, preMasterInitialization, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preModifyTableAction, preMoveServers, preMoveServersAndTables, preMoveTables, preRemoveRSGroup, preRemoveServers, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preTruncateTableAction</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.coprocessor.RegionObserver">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController3.FaultyAccessController.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController3.FaultyAccessController.html b/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController3.FaultyAccessController.html
index 3ccfe0a..b7c9a12 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController3.FaultyAccessController.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/access/TestAccessController3.FaultyAccessController.html
@@ -220,7 +220,7 @@ extends org.apache.hadoop.hbase.security.access.AccessController</pre>
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteSnapshot, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postListDecommissionedRegionServers, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveR
 SGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postTableFlush, postUnassign, postUpdateReplicationPeerConfig, preAddRSGroup, preBalanceRSGroup, preCreateTableAction, preDeleteTableAction, preDisableTableAction, preEnableTableAction, preGetClusterMetrics, preGetTableNames, preListNamespaceDescriptors, preMasterInitialization, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyTableAction, preMoveServers, preMoveServersAndTables, preMoveTables, preRemoveRSGroup, preRemoveServers, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preTruncateTableAction</code></li>
+<code>postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteSnapshot, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postListDecommissionedRegionServers, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionR
 egionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postTableFlush, postUnassign, postUpdateReplicationPeerConfig, preAddRSGroup, preBalanceRSGroup, preCreateTableAction, preDeleteTableAction, preDisableTableAction, preEnableTableAction, preGetClusterMetrics, preGetTableNames, preListNamespaceDescriptors, preMasterInitialization, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preModifyTableAction, preMoveServers, preMoveServersAndTables, preMoveTables, preRemoveRSGroup, preRemoveServers, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preTruncateTableAction</code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.coprocessor.RegionObserver">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestSnapshotClientRetries.MasterSyncObserver.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestSnapshotClientRetries.MasterSyncObserver.html b/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestSnapshotClientRetries.MasterSyncObserver.html
index 55a0926..2fc99f9 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestSnapshotClientRetries.MasterSyncObserver.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/snapshot/TestSnapshotClientRetries.MasterSyncObserver.html
@@ -236,7 +236,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNam
 espace, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetr
 ics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedCreateTableAction, postCompletedDeleteTableAction, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRe
 gionsCommitAction, postModifyNamespace, postModifyNamespace, postModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableRe
 plicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, p
 reTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/util/BaseTestHBaseFsck.MasterSyncCoprocessor.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/util/BaseTestHBaseFsck.MasterSyncCoprocessor.html b/testdevapidocs/org/apache/hadoop/hbase/util/BaseTestHBaseFsck.MasterSyncCoprocessor.html
index 69d0c6b..b084f29 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/util/BaseTestHBaseFsck.MasterSyncCoprocessor.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/util/BaseTestHBaseFsck.MasterSyncCoprocessor.html
@@ -235,7 +235,7 @@ implements org.apache.hadoop.hbase.coprocessor.MasterCoprocessor, org.apache.had
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.MasterObserver</h3>
-<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyTable, postMove, postMoveServers, postMoveServ
 ersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableAction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, p
 reGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyTable, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, preTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
+<code>postAbortProcedure, postAddReplicationPeer, postAddRSGroup, postAssign, postBalance, postBalanceRSGroup, postBalanceSwitch, postClearDeadServers, postCloneSnapshot, postCompletedDisableTableAction, postCompletedEnableTableAction, postCompletedMergeRegionsAction, postCompletedModifyTableAction, postCompletedModifyTableAction, postCompletedSplitRegionAction, postCompletedTruncateTableAction, postCreateNamespace, postCreateTable, postDecommissionRegionServers, postDeleteNamespace, postDeleteSnapshot, postDeleteTable, postDisableReplicationPeer, postDisableTable, postEnableReplicationPeer, postEnableTable, postGetClusterMetrics, postGetLocks, postGetNamespaceDescriptor, postGetProcedures, postGetReplicationPeerConfig, postGetTableDescriptors, postGetTableNames, postListDecommissionedRegionServers, postListNamespaceDescriptors, postListReplicationPeers, postListSnapshot, postLockHeartbeat, postMergeRegions, postMergeRegionsCommitAction, postModifyNamespace, postModifyNamespace, pos
 tModifyTable, postModifyTable, postMove, postMoveServers, postMoveServersAndTables, postMoveTables, postRecommissionRegionServer, postRegionOffline, postRemoveReplicationPeer, postRemoveRSGroup, postRemoveServers, postRequestLock, postRestoreSnapshot, postRollBackMergeRegionsAction, postRollBackSplitRegionAction, postSetNamespaceQuota, postSetSplitOrMergeEnabled, postSetTableQuota, postSetUserQuota, postSetUserQuota, postSetUserQuota, postSnapshot, postStartMaster, postTableFlush, postTruncateTable, postUnassign, postUpdateReplicationPeerConfig, preAbortProcedure, preAddReplicationPeer, preAddRSGroup, preAssign, preBalance, preBalanceRSGroup, preBalanceSwitch, preClearDeadServers, preCloneSnapshot, preCreateNamespace, preCreateTable, preCreateTableAction, preDecommissionRegionServers, preDeleteNamespace, preDeleteSnapshot, preDeleteTable, preDeleteTableAction, preDisableReplicationPeer, preDisableTable, preDisableTableAction, preEnableReplicationPeer, preEnableTable, preEnableTableA
 ction, preGetClusterMetrics, preGetLocks, preGetNamespaceDescriptor, preGetProcedures, preGetReplicationPeerConfig, preGetTableDescriptors, preGetTableNames, preListDecommissionedRegionServers, preListNamespaceDescriptors, preListReplicationPeers, preListSnapshot, preLockHeartbeat, preMasterInitialization, preMergeRegions, preMergeRegionsAction, preMergeRegionsCommitAction, preModifyNamespace, preModifyNamespace, preModifyTable, preModifyTable, preModifyTableAction, preModifyTableAction, preMove, preMoveServers, preMoveServersAndTables, preMoveTables, preRecommissionRegionServer, preRegionOffline, preRemoveReplicationPeer, preRemoveRSGroup, preRemoveServers, preRequestLock, preRestoreSnapshot, preSetNamespaceQuota, preSetSplitOrMergeEnabled, preSetTableQuota, preSetUserQuota, preSetUserQuota, preSetUserQuota, preShutdown, preSnapshot, preSplitRegion, preSplitRegionAction, preSplitRegionAfterMETAAction, preSplitRegionBeforeMETAAction, preStopMaster, preTableFlush, preTruncateTable, p
 reTruncateTableAction, preUnassign, preUpdateReplicationPeerConfig</code></li>
 </ul>
 </li>
 </ul>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironmentForCoreCoprocessors.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironmentForCoreCoprocessors.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironmentForCoreCoprocessors.html
index 8b2674f..274eb54 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironmentForCoreCoprocessors.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterEnvironmentForCoreCoprocessors.html
@@ -262,1413 +262,1417 @@
 <span class="sourceLineNo">254</span>    });<a name="line.254"></a>
 <span class="sourceLineNo">255</span>  }<a name="line.255"></a>
 <span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>  public void preModifyNamespace(final NamespaceDescriptor ns) throws IOException {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      @Override<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      public void call(MasterObserver observer) throws IOException {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>        observer.preModifyNamespace(this, ns);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    });<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  }<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public void postModifyNamespace(final NamespaceDescriptor ns) throws IOException {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      @Override<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      public void call(MasterObserver observer) throws IOException {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        observer.postModifyNamespace(this, ns);<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>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  public void preGetNamespaceDescriptor(final String namespaceName)<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      throws IOException {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      @Override<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      public void call(MasterObserver observer) throws IOException {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        observer.preGetNamespaceDescriptor(this, namespaceName);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    });<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  }<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public void postGetNamespaceDescriptor(final NamespaceDescriptor ns)<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      throws IOException {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void call(MasterObserver observer) throws IOException {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        observer.postGetNamespaceDescriptor(this, ns);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    });<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  }<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>  public void preListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      throws IOException {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      @Override<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      public void call(MasterObserver observer) throws IOException {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        observer.preListNamespaceDescriptors(this, descriptors);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      }<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    });<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  public void postListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      throws IOException {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      @Override<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      public void call(MasterObserver observer) throws IOException {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        observer.postListNamespaceDescriptors(this, descriptors);<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><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  /* Implementation of hooks for invoking MasterObservers */<a name="line.315"></a>
+<span class="sourceLineNo">257</span>  public void preModifyNamespace(final NamespaceDescriptor currentNsDescriptor,<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    final NamespaceDescriptor newNsDescriptor) throws IOException {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      @Override<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      public void call(MasterObserver observer) throws IOException {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        observer.preModifyNamespace(this, currentNsDescriptor, newNsDescriptor);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      }<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    });<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  public void postModifyNamespace(final NamespaceDescriptor oldNsDescriptor,<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    final NamespaceDescriptor currentNsDescriptor) throws IOException {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      @Override<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      public void call(MasterObserver observer) throws IOException {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>        observer.postModifyNamespace(this, oldNsDescriptor, currentNsDescriptor);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      }<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    });<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  }<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>  public void preGetNamespaceDescriptor(final String namespaceName)<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      throws IOException {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      @Override<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      public void call(MasterObserver observer) throws IOException {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        observer.preGetNamespaceDescriptor(this, namespaceName);<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>  public void postGetNamespaceDescriptor(final NamespaceDescriptor ns)<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      throws IOException {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      @Override<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      public void call(MasterObserver observer) throws IOException {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>        observer.postGetNamespaceDescriptor(this, ns);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      }<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    });<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>  public void preListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.297"></a>
+<span class="sourceLineNo">298</span>      throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      @Override<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      public void call(MasterObserver observer) throws IOException {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>        observer.preListNamespaceDescriptors(this, descriptors);<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    });<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>  public void postListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      throws IOException {<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      @Override<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      public void call(MasterObserver observer) throws IOException {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        observer.postListNamespaceDescriptors(this, descriptors);<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      }<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    });<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
 <span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  public void preCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      throws IOException {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      @Override<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      public void call(MasterObserver observer) throws IOException {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        observer.preCreateTable(this, htd, regions);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    });<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public void postCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      @Override<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      public void call(MasterObserver observer) throws IOException {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>        observer.postCreateTable(this, htd, regions);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      }<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    });<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  }<a name="line.335"></a>
-<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public void preCreateTableAction(final TableDescriptor htd, final RegionInfo[] regions,<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      final User user) throws IOException {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      public void call(MasterObserver observer) throws IOException {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>        observer.preCreateTableAction(this, htd, regions);<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>  }<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>  public void postCompletedCreateTableAction(<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      final TableDescriptor htd, final RegionInfo[] regions, final User user) throws IOException {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      public void call(MasterObserver observer) throws IOException {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>        observer.postCompletedCreateTableAction(this, htd, regions);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    });<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  }<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>  public void preDeleteTable(final TableName tableName) throws IOException {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      @Override<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      public void call(MasterObserver observer) throws IOException {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        observer.preDeleteTable(this, tableName);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    });<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
-<span class="sourceLineNo">365</span><a name="line.365"></a>
-<span class="sourceLineNo">366</span>  public void postDeleteTable(final TableName tableName) throws IOException {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      public void call(MasterObserver observer) throws IOException {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        observer.postDeleteTable(this, tableName);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      }<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    });<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public void preDeleteTableAction(final TableName tableName, final User user) throws IOException {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      @Override<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      public void call(MasterObserver observer) throws IOException {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        observer.preDeleteTableAction(this, tableName);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    });<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  public void postCompletedDeleteTableAction(final TableName tableName, final User user)<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      throws IOException {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      @Override<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      public void call(MasterObserver observer) throws IOException {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>        observer.postCompletedDeleteTableAction(this, tableName);<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>  public void preTruncateTable(final TableName tableName) throws IOException {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      @Override<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      public void call(MasterObserver observer) throws IOException {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        observer.preTruncateTable(this, tableName);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      }<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    });<a name="line.400"></a>
-<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
-<span class="sourceLineNo">402</span><a name="line.402"></a>
-<span class="sourceLineNo">403</span>  public void postTruncateTable(final TableName tableName) throws IOException {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      public void call(MasterObserver observer) throws IOException {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        observer.postTruncateTable(this, tableName);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      }<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    });<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  }<a name="line.410"></a>
-<span class="sourceLineNo">411</span><a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public void preTruncateTableAction(final TableName tableName, final User user)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      throws IOException {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      @Override<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      public void call(MasterObserver observer) throws IOException {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        observer.preTruncateTableAction(this, tableName);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      }<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    });<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  public void postCompletedTruncateTableAction(final TableName tableName, final User user)<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      throws IOException {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      public void call(MasterObserver observer) throws IOException {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        observer.postCompletedTruncateTableAction(this, tableName);<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      }<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    });<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public void preModifyTable(final TableName tableName, final TableDescriptor htd)<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      throws IOException {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      @Override<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      public void call(MasterObserver observer) throws IOException {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        observer.preModifyTable(this, tableName, htd);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    });<a name="line.439"></a>
-<span class="sourceLineNo">440</span>  }<a name="line.440"></a>
-<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public void postModifyTable(final TableName tableName, final TableDescriptor htd)<a name="line.442"></a>
-<span class="sourceLineNo">443</span>      throws IOException {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      public void call(MasterObserver observer) throws IOException {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        observer.postModifyTable(this, tableName, htd);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      }<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    });<a name="line.449"></a>
-<span class="sourceLineNo">450</span>  }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public void preModifyTableAction(final TableName tableName, final TableDescriptor htd,<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      final User user) throws IOException {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      @Override<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      public void call(MasterObserver observer) throws IOException {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        observer.preModifyTableAction(this, tableName, htd);<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>  }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span>  public void postCompletedModifyTableAction(final TableName tableName, final TableDescriptor htd,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      final User user) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      @Override<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      public void call(MasterObserver observer) throws IOException {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>        observer.postCompletedModifyTableAction(this, tableName, htd);<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      }<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    });<a name="line.469"></a>
-<span class="sourceLineNo">470</span>  }<a name="line.470"></a>
-<span class="sourceLineNo">471</span><a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public void preEnableTable(final TableName tableName) throws IOException {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      @Override<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      public void call(MasterObserver observer) throws IOException {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        observer.preEnableTable(this, tableName);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      }<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    });<a name="line.478"></a>
-<span class="sourceLineNo">479</span>  }<a name="line.479"></a>
-<span class="sourceLineNo">480</span><a name="line.480"></a>
-<span class="sourceLineNo">481</span>  public void postEnableTable(final TableName tableName) throws IOException {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      @Override<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      public void call(MasterObserver observer) throws IOException {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>        observer.postEnableTable(this, tableName);<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>  public void preEnableTableAction(final TableName tableName, final User user) throws IOException {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      @Override<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      public void call(MasterObserver observer) throws IOException {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        observer.preEnableTableAction(this, tableName);<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    });<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  }<a name="line.497"></a>
-<span class="sourceLineNo">498</span><a name="line.498"></a>
-<span class="sourceLineNo">499</span>  public void postCompletedEnableTableAction(final TableName tableName, final User user)<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      throws IOException {<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      @Override<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      public void call(MasterObserver observer) throws IOException {<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        observer.postCompletedEnableTableAction(this, tableName);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      }<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    });<a name="line.506"></a>
-<span class="sourceLineNo">507</span>  }<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>  public void preDisableTable(final TableName tableName) throws IOException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      @Override<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      public void call(MasterObserver observer) throws IOException {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        observer.preDisableTable(this, tableName);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    });<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>  public void postDisableTable(final TableName tableName) throws IOException {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      @Override<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      public void call(MasterObserver observer) throws IOException {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        observer.postDisableTable(this, tableName);<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      }<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    });<a name="line.524"></a>
-<span class="sourceLineNo">525</span>  }<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public void preDisableTableAction(final TableName tableName, final User user) throws IOException {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      public void call(MasterObserver observer) throws IOException {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        observer.preDisableTableAction(this, tableName);<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 name="line.535"></a>
-<span class="sourceLineNo">536</span>  public void postCompletedDisableTableAction(final TableName tableName, final User user)<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      throws IOException {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>      public void call(MasterObserver observer) throws IOException {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        observer.postCompletedDisableTableAction(this, tableName);<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><a name="line.545"></a>
-<span class="sourceLineNo">546</span>  public void preAbortProcedure(<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      final ProcedureExecutor&lt;MasterProcedureEnv&gt; procEnv,<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      final long procId) throws IOException {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      @Override<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      public void call(MasterObserver observer) throws IOException {<a name="line.551"></a>
-<span class="sourceLineNo">552</span>        observer.preAbortProcedure(this,  procId);<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>  public void postAbortProcedure() throws IOException {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>      @Override<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      public void call(MasterObserver observer) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>        observer.postAbortProcedure(this);<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      }<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    });<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  }<a name="line.564"></a>
-<span class="sourceLineNo">565</span><a name="line.565"></a>
-<span class="sourceLineNo">566</span>  public void preGetProcedures() throws IOException {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      @Override<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      public void call(MasterObserver observer) throws IOException {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>        observer.preGetProcedures(this);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>      }<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    });<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  }<a name="line.573"></a>
-<span class="sourceLineNo">574</span><a name="line.574"></a>
-<span class="sourceLineNo">575</span>  public void postGetProcedures(final List&lt;Procedure&lt;?&gt;&gt; procInfoList) throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      public void call(MasterObserver observer) throws IOException {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>        observer.postGetProcedures(this);<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>  public void preGetLocks() throws IOException {<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      @Override<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      public void call(MasterObserver observer) throws IOException {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        observer.preGetLocks(this);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    });<a name="line.590"></a>
-<span class="sourceLineNo">591</span>  }<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>  public void postGetLocks(final List&lt;LockedResource&gt; lockedResources) throws IOException {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      @Override<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      public void call(MasterObserver observer) throws IOException {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        observer.postGetLocks(this);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      }<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    });<a name="line.599"></a>
-<span class="sourceLineNo">600</span>  }<a name="line.600"></a>
-<span class="sourceLineNo">601</span><a name="line.601"></a>
-<span class="sourceLineNo">602</span>  public void preMove(final RegionInfo region, final ServerName srcServer,<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      final ServerName destServer) throws IOException {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.604"></a>
-<span class="sourceLineNo">605</span>      @Override<a name="line.605"></a>
-<span class="sourceLineNo">606</span>      public void call(MasterObserver observer) throws IOException {<a name="line.606"></a>
-<span class="sourceLineNo">607</span>        observer.preMove(this, region, srcServer, destServer);<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      }<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    });<a name="line.609"></a>
-<span class="sourceLineNo">610</span>  }<a name="line.610"></a>
-<span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>  public void postMove(final RegionInfo region, final ServerName srcServer,<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      final ServerName destServer) throws IOException {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      @Override<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      public void call(MasterObserver observer) throws IOException {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>        observer.postMove(this, region, srcServer, destServer);<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>  }<a name="line.620"></a>
-<span class="sourceLineNo">621</span><a name="line.621"></a>
-<span class="sourceLineNo">622</span>  public void preAssign(final RegionInfo regionInfo) throws IOException {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      @Override<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      public void call(MasterObserver observer) throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>        observer.preAssign(this, regionInfo);<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>  public void postAssign(final RegionInfo regionInfo) throws IOException {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.632"></a>
-<span class="sourceLineNo">633</span>      @Override<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      public void call(MasterObserver observer) throws IOException {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        observer.postAssign(this, regionInfo);<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>  }<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>  public void preUnassign(final RegionInfo regionInfo, final boolean force)<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      throws IOException {<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      @Override<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      public void call(MasterObserver observer) throws IOException {<a name="line.644"></a>
-<span class="sourceLineNo">645</span>        observer.preUnassign(this, regionInfo, force);<a name="line.645"></a>
-<span class="sourceLineNo">646</span>      }<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    });<a name="line.647"></a>
-<span class="sourceLineNo">648</span>  }<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span>  public void postUnassign(final RegionInfo regionInfo, final boolean force) throws IOException {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      @Override<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      public void call(MasterObserver observer) throws IOException {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        observer.postUnassign(this, regionInfo, force);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>      }<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    });<a name="line.656"></a>
-<span class="sourceLineNo">657</span>  }<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>  public void preRegionOffline(final RegionInfo regionInfo) throws IOException {<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      @Override<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      public void call(MasterObserver observer) throws IOException {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        observer.preRegionOffline(this, regionInfo);<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      }<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    });<a name="line.665"></a>
-<span class="sourceLineNo">666</span>  }<a name="line.666"></a>
-<span class="sourceLineNo">667</span><a name="line.667"></a>
-<span class="sourceLineNo">668</span>  public void postRegionOffline(final RegionInfo regionInfo) throws IOException {<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      @Override<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      public void call(MasterObserver observer) throws IOException {<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        observer.postRegionOffline(this, regionInfo);<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      }<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    });<a name="line.674"></a>
-<span class="sourceLineNo">675</span>  }<a name="line.675"></a>
-<span class="sourceLineNo">676</span><a name="line.676"></a>
-<span class="sourceLineNo">677</span>  public void preMergeRegions(final RegionInfo[] regionsToMerge)<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      throws IOException {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      @Override<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      public void call(MasterObserver observer) throws IOException {<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        observer.preMergeRegions(this, regionsToMerge);<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>  }<a name="line.685"></a>
-<span class="sourceLineNo">686</span><a name="line.686"></a>
-<span class="sourceLineNo">687</span>  public void postMergeRegions(final RegionInfo[] regionsToMerge)<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throws IOException {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      @Override<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      public void call(MasterObserver observer) throws IOException {<a name="line.691"></a>
-<span class="sourceLineNo">692</span>        observer.postMergeRegions(this, regionsToMerge);<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><a name="line.696"></a>
-<span class="sourceLineNo">697</span>  public boolean preBalance() throws IOException {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      @Override<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      public void call(MasterObserver observer) throws IOException {<a name="line.700"></a>
-<span class="sourceLineNo">701</span>        observer.preBalance(this);<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      }<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    });<a name="line.703"></a>
-<span class="sourceLineNo">704</span>  }<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>  public void postBalance(final List&lt;RegionPlan&gt; plans) throws IOException {<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      @Override<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      public void call(MasterObserver observer) throws IOException {<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        observer.postBalance(this, plans);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      }<a name="line.711"></a>
-<span class="sourceLineNo">712</span>    });<a name="line.712"></a>
-<span class="sourceLineNo">713</span>  }<a name="line.713"></a>
-<span class="sourceLineNo">714</span><a name="line.714"></a>
-<span class="sourceLineNo">715</span>  public void preSetSplitOrMergeEnabled(final boolean newValue,<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      final MasterSwitchType switchType) throws IOException {<a name="line.716"></a>
-<span class="sourceLineNo">717</span>    execOperation(coprocEnvironments.isEmpty()? null: new MasterObserverOperation() {<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      @Override<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      public void call(MasterObserver observer) throws IOException {<a name="line.719"></a>
-<span class="sourceLineNo">720</span>        observer.preSetSplitOrMergeEnabled(this, newValue, switchType);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      }<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    });<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  }<a name="line.723"></a>
-<span class="sourceLineNo">724</span><a name="line.724"></a>
-<span class="sourceLineNo">725</span>  public void postSetSplitOrMergeEnabled(final boolean newValue,<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      final MasterSwitchType switchType) throws IOException {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      @Override<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      public void call(MasterObserver observer) throws IOException {<a name="line.729"></a>
-<span class="sourceLineNo">730</span>        observer.postSetSplitOrMergeEnabled(this, newValue, switchType);<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    });<a name="line.732"></a>
-<span class="sourceLineNo">733</span>  }<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>   * Invoked just before calling the split region procedure<a name="line.736"></a>
-<span class="sourceLineNo">737</span>   * @param tableName the table where the region belongs to<a name="line.737"></a>
-<span class="sourceLineNo">738</span>   * @param splitRow the split point<a name="line.738"></a>
-<span class="sourceLineNo">739</span>   * @throws IOException<a name="line.739"></a>
-<span class="sourceLineNo">740</span>   */<a name="line.740"></a>
-<span class="sourceLineNo">741</span>  public void preSplitRegion(<a name="line.741"></a>
-<span class="sourceLineNo">742</span>      final TableName tableName,<a name="line.742"></a>
-<span class="sourceLineNo">743</span>      final byte[] splitRow) throws IOException {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      @Override<a name="line.745"></a>
-<span class="sourceLineNo">746</span>      public void call(MasterObserver observer) throws IOException {<a name="line.746"></a>
-<span class="sourceLineNo">747</span>        observer.preSplitRegion(this, tableName, splitRow);<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>  }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>  /**<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   * Invoked just before a split<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   * @param tableName the table where the region belongs to<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   * @param splitRow the split point<a name="line.755"></a>
-<span class="sourceLineNo">756</span>   * @param user the user<a name="line.756"></a>
-<span class="sourceLineNo">757</span>   * @throws IOException<a name="line.757"></a>
-<span class="sourceLineNo">758</span>   */<a name="line.758"></a>
-<span class="sourceLineNo">759</span>  public void preSplitRegionAction(<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      final TableName tableName,<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      final byte[] splitRow,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      final User user) throws IOException {<a name="line.762"></a>
-<span class="sourceLineNo">763</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      @Override<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      public void call(MasterObserver observer) throws IOException {<a name="line.765"></a>
-<span class="sourceLineNo">766</span>        observer.preSplitRegionAction(this, tableName, splitRow);<a name="line.766"></a>
-<span class="sourceLineNo">767</span>      }<a name="line.767"></a>
-<span class="sourceLineNo">768</span>    });<a name="line.768"></a>
-<span class="sourceLineNo">769</span>  }<a name="line.769"></a>
-<span class="sourceLineNo">770</span><a name="line.770"></a>
-<span class="sourceLineNo">771</span>  /**<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   * Invoked just after a split<a name="line.772"></a>
-<span class="sourceLineNo">773</span>   * @param regionInfoA the new left-hand daughter region<a name="line.773"></a>
-<span class="sourceLineNo">774</span>   * @param regionInfoB the new right-hand daughter region<a name="line.774"></a>
-<span class="sourceLineNo">775</span>   * @param user the user<a name="line.775"></a>
-<span class="sourceLineNo">776</span>   * @throws IOException<a name="line.776"></a>
-<span class="sourceLineNo">777</span>   */<a name="line.777"></a>
-<span class="sourceLineNo">778</span>  public void postCompletedSplitRegionAction(<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      final RegionInfo regionInfoA,<a name="line.779"></a>
-<span class="sourceLineNo">780</span>      final RegionInfo regionInfoB,<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      final User user) throws IOException {<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.782"></a>
-<span class="sourceLineNo">783</span>      @Override<a name="line.783"></a>
-<span class="sourceLineNo">784</span>      public void call(MasterObserver observer) throws IOException {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>        observer.postCompletedSplitRegionAction(this, regionInfoA, regionInfoB);<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      }<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    });<a name="line.787"></a>
-<span class="sourceLineNo">788</span>  }<a name="line.788"></a>
-<span class="sourceLineNo">789</span><a name="line.789"></a>
-<span class="sourceLineNo">790</span>  /**<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   * This will be called before update META step as part of split table region procedure.<a name="line.791"></a>
-<span class="sourceLineNo">792</span>   * @param splitKey<a name="line.792"></a>
-<span class="sourceLineNo">793</span>   * @param metaEntries<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * @param user the user<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   * @throws IOException<a name="line.795"></a>
-<span class="sourceLineNo">796</span>   */<a name="line.796"></a>
-<span class="sourceLineNo">797</span>  public void preSplitBeforeMETAAction(<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      final byte[] splitKey,<a name="line.798"></a>
-<span class="sourceLineNo">799</span>      final List&lt;Mutation&gt; metaEntries,<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      final User user) throws IOException {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      @Override<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      public void call(MasterObserver observer) throws IOException {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        observer.preSplitRegionBeforeMETAAction(this, splitKey, metaEntries);<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      }<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    });<a name="line.806"></a>
-<span class="sourceLineNo">807</span>  }<a name="line.807"></a>
-<span class="sourceLineNo">808</span><a name="line.808"></a>
-<span class="sourceLineNo">809</span>  /**<a name="line.809"></a>
-<span class="sourceLineNo">810</span>   * This will be called after update META step as part of split table region procedure.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>   * @param user the user<a name="line.811"></a>
-<span class="sourceLineNo">812</span>   * @throws IOException<a name="line.812"></a>
-<span class="sourceLineNo">813</span>   */<a name="line.813"></a>
-<span class="sourceLineNo">814</span>  public void preSplitAfterMETAAction(final User user) throws IOException {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.815"></a>
-<span class="sourceLineNo">816</span>      @Override<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      public void call(MasterObserver observer) throws IOException {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        observer.preSplitRegionAfterMETAAction(this);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>      }<a name="line.819"></a>
-<span class="sourceLineNo">820</span>    });<a name="line.820"></a>
-<span class="sourceLineNo">821</span>  }<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>  /**<a name="line.823"></a>
-<span class="sourceLineNo">824</span>   * Invoked just after the rollback of a failed split<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   * @param user the user<a name="line.825"></a>
-<span class="sourceLineNo">826</span>   * @throws IOException<a name="line.826"></a>
-<span class="sourceLineNo">827</span>   */<a name="line.827"></a>
-<span class="sourceLineNo">828</span>  public void postRollBackSplitRegionAction(final User user) throws IOException {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      @Override<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      public void call(MasterObserver observer) throws IOException {<a name="line.831"></a>
-<span class="sourceLineNo">832</span>        observer.postRollBackSplitRegionAction(this);<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      }<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    });<a name="line.834"></a>
-<span class="sourceLineNo">835</span>  }<a name="line.835"></a>
-<span class="sourceLineNo">836</span><a name="line.836"></a>
-<span class="sourceLineNo">837</span>  /**<a name="line.837"></a>
-<span class="sourceLineNo">838</span>   * Invoked just before a merge<a name="line.838"></a>
-<span class="sourceLineNo">839</span>   * @param regionsToMerge the regions to merge<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * @param user the user<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * @throws IOException<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public void preMergeRegionsAction(<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      final RegionInfo[] regionsToMerge, final User user) throws IOException {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>      @Override<a name="line.846"></a>
-<span class="sourceLineNo">847</span>      public void call(MasterObserver observer) throws IOException {<a name="line.847"></a>
-<span class="sourceLineNo">848</span>        observer.preMergeRegionsAction(this, regionsToMerge);<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      }<a name="line.849"></a>
-<span class="sourceLineNo">850</span>    });<a name="line.850"></a>
-<span class="sourceLineNo">851</span>  }<a name="line.851"></a>
-<span class="sourceLineNo">852</span><a name="line.852"></a>
-<span class="sourceLineNo">853</span>  /**<a name="line.853"></a>
-<span class="sourceLineNo">854</span>   * Invoked after completing merge regions operation<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   * @param regionsToMerge the regions to merge<a name="line.855"></a>
-<span class="sourceLineNo">856</span>   * @param mergedRegion the new merged region<a name="line.856"></a>
-<span class="sourceLineNo">857</span>   * @param user the user<a name="line.857"></a>
-<span class="sourceLineNo">858</span>   * @throws IOException<a name="line.858"></a>
-<span class="sourceLineNo">859</span>   */<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  public void postCompletedMergeRegionsAction(<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      final RegionInfo[] regionsToMerge,<a name="line.861"></a>
-<span class="sourceLineNo">862</span>      final RegionInfo mergedRegion,<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      final User user) throws IOException {<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      @Override<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      public void call(MasterObserver observer) throws IOException {<a name="line.866"></a>
-<span class="sourceLineNo">867</span>        observer.postCompletedMergeRegionsAction(this, regionsToMerge, mergedRegion);<a name="line.867"></a>
-<span class="sourceLineNo">868</span>      }<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    });<a name="line.869"></a>
-<span class="sourceLineNo">870</span>  }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>  /**<a name="line.872"></a>
-<span class="sourceLineNo">873</span>   * Invoked before merge regions operation writes the new region to hbase:meta<a name="line.873"></a>
-<span class="sourceLineNo">874</span>   * @param regionsToMerge the regions to merge<a name="line.874"></a>
-<span class="sourceLineNo">875</span>   * @param metaEntries the meta entry<a name="line.875"></a>
-<span class="sourceLineNo">876</span>   * @param user the user<a name="line.876"></a>
-<span class="sourceLineNo">877</span>   * @throws IOException<a name="line.877"></a>
-<span class="sourceLineNo">878</span>   */<a name="line.878"></a>
-<span class="sourceLineNo">879</span>  public void preMergeRegionsCommit(<a name="line.879"></a>
-<span class="sourceLineNo">880</span>      final RegionInfo[] regionsToMerge,<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      final @MetaMutationAnnotation List&lt;Mutation&gt; metaEntries,<a name="line.881"></a>
-<span class="sourceLineNo">882</span>      final User user) throws IOException {<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      @Override<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      public void call(MasterObserver observer) throws IOException {<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        observer.preMergeRegionsCommitAction(this, regionsToMerge, metaEntries);<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      }<a name="line.887"></a>
-<span class="sourceLineNo">888</span>    });<a name="line.888"></a>
-<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
-<span class="sourceLineNo">890</span><a name="line.890"></a>
-<span class="sourceLineNo">891</span>  /**<a name="line.891"></a>
-<span class="sourceLineNo">892</span>   * Invoked after merge regions operation writes the new region to hbase:meta<a name="line.892"></a>
-<span class="sourceLineNo">893</span>   * @param regionsToMerge the regions to merge<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   * @param mergedRegion the new merged region<a name="line.894"></a>
-<span class="sourceLineNo">895</span>   * @param user the user<a name="line.895"></a>
-<span class="sourceLineNo">896</span>   * @throws IOException<a name="line.896"></a>
-<span class="sourceLineNo">897</span>   */<a name="line.897"></a>
-<span class="sourceLineNo">898</span>  public void postMergeRegionsCommit(<a name="line.898"></a>
-<span class="sourceLineNo">899</span>      final RegionInfo[] regionsToMerge,<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      final RegionInfo mergedRegion,<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      final User user) throws IOException {<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.902"></a>
-<span class="sourceLineNo">903</span>      @Override<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      public void call(MasterObserver observer) throws IOException {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        observer.postMergeRegionsCommitAction(this, regionsToMerge, mergedRegion);<a name="line.905"></a>
-<span class="sourceLineNo">906</span>      }<a name="line.906"></a>
-<span class="sourceLineNo">907</span>    });<a name="line.907"></a>
-<span class="sourceLineNo">908</span>  }<a name="line.908"></a>
-<span class="sourceLineNo">909</span><a name="line.909"></a>
-<span class="sourceLineNo">910</span>  /**<a name="line.910"></a>
-<span class="sourceLineNo">911</span>   * Invoked after rollback merge regions operation<a name="line.911"></a>
-<span class="sourceLineNo">912</span>   * @param regionsToMerge the regions to merge<a name="line.912"></a>
-<span class="sourceLineNo">913</span>   * @param user the user<a name="line.913"></a>
-<span class="sourceLineNo">914</span>   * @throws IOException<a name="line.914"></a>
-<span class="sourceLineNo">915</span>   */<a name="line.915"></a>
-<span class="sourceLineNo">916</span>  public void postRollBackMergeRegionsAction(<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      final RegionInfo[] regionsToMerge, final User user) throws IOException {<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>      @Override<a name="line.919"></a>
-<span class="sourceLineNo">920</span>      public void call(MasterObserver observer) throws IOException {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>        observer.postRollBackMergeRegionsAction(this, regionsToMerge);<a name="line.921"></a>
-<span class="sourceLineNo">922</span>      }<a name="line.922"></a>
-<span class="sourceLineNo">923</span>    });<a name="line.923"></a>
-<span class="sourceLineNo">924</span>  }<a name="line.924"></a>
-<span class="sourceLineNo">925</span><a name="line.925"></a>
-<span class="sourceLineNo">926</span>  // This hook allows Coprocessor change value of balance switch.<a name="line.926"></a>
-<span class="sourceLineNo">927</span>  public void preBalanceSwitch(final boolean b) throws IOException {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>    if (this.coprocEnvironments.isEmpty()) {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span>    execOperation(new MasterObserverOperation() {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>      @Override<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      public void call(MasterObserver observer) throws IOException {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        observer.preBalanceSwitch(this, b);<a name="line.934"></a>
-<span class="sourceLineNo">935</span>      }<a name="line.935"></a>
-<span class="sourceLineNo">936</span>    });<a name="line.936"></a>
-<span class="sourceLineNo">937</span>  }<a name="line.937"></a>
-<span class="sourceLineNo">938</span><a name="line.938"></a>
-<span class="sourceLineNo">939</span>  public void postBalanceSwitch(final boolean oldValue, final boolean newValue)<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      throws IOException {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.941"></a>
-<span class="sourceLineNo">942</span>      @Override<a name="line.942"></a>
-<span class="sourceLineNo">943</span>      public void call(MasterObserver observer) throws IOException {<a name="line.943"></a>
-<span class="sourceLineNo">944</span>        observer.postBalanceSwitch(this, oldValue, newValue);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      }<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    });<a name="line.946"></a>
-<span class="sourceLineNo">947</span>  }<a name="line.947"></a>
-<span class="sourceLineNo">948</span><a name="line.948"></a>
-<span class="sourceLineNo">949</span>  public void preShutdown() throws IOException {<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    // While stopping the cluster all coprocessors method should be executed first then the<a name="line.950"></a>
-<span class="sourceLineNo">951</span>    // coprocessor should be cleaned up.<a name="line.951"></a>
-<span class="sourceLineNo">952</span>    if (coprocEnvironments.isEmpty()) {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    execShutdown(new MasterObserverOperation() {<a name="line.955"></a>
-<span class="sourceLineNo">956</span>      @Override<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      public void call(MasterObserver observer) throws IOException {<a name="line.957"></a>
-<span class="sourceLineNo">958</span>        observer.preShutdown(this);<a name="line.958"></a>
-<span class="sourceLineNo">959</span>      }<a name="line.959"></a>
+<span class="sourceLineNo">317</span>  /* Implementation of hooks for invoking MasterObservers */<a name="line.317"></a>
+<span class="sourceLineNo">318</span><a name="line.318"></a>
+<span class="sourceLineNo">319</span>  public void preCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      throws IOException {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      @Override<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      public void call(MasterObserver observer) throws IOException {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        observer.preCreateTable(this, htd, regions);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      }<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    });<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  public void postCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      throws IOException {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      public void call(MasterObserver observer) throws IOException {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>        observer.postCreateTable(this, htd, regions);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    });<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  }<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  public void preCreateTableAction(final TableDescriptor htd, final RegionInfo[] regions,<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      final User user) throws IOException {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>      @Override<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      public void call(MasterObserver observer) throws IOException {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        observer.preCreateTableAction(this, htd, regions);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      }<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    });<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  }<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>  public void postCompletedCreateTableAction(<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      final TableDescriptor htd, final RegionInfo[] regions, final User user) throws IOException {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      @Override<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      public void call(MasterObserver observer) throws IOException {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        observer.postCompletedCreateTableAction(this, htd, regions);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      }<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    });<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  public void preDeleteTable(final TableName tableName) throws IOException {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      @Override<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      public void call(MasterObserver observer) throws IOException {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        observer.preDeleteTable(this, tableName);<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><a name="line.367"></a>
+<span class="sourceLineNo">368</span>  public void postDeleteTable(final TableName tableName) throws IOException {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      @Override<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      public void call(MasterObserver observer) throws IOException {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>        observer.postDeleteTable(this, tableName);<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      }<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    });<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span>  public void preDeleteTableAction(final TableName tableName, final User user) throws IOException {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      @Override<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      public void call(MasterObserver observer) throws IOException {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>        observer.preDeleteTableAction(this, tableName);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    });<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  public void postCompletedDeleteTableAction(final TableName tableName, final User user)<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      throws IOException {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      @Override<a name="line.389"></a>
+<span class="sourceLineNo">390</span>      public void call(MasterObserver observer) throws IOException {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        observer.postCompletedDeleteTableAction(this, tableName);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    });<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
+<span class="sourceLineNo">395</span><a name="line.395"></a>
+<span class="sourceLineNo">396</span>  public void preTruncateTable(final TableName tableName) throws IOException {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      @Override<a name="line.398"></a>
+<span class="sourceLineNo">399</span>      public void call(MasterObserver observer) throws IOException {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        observer.preTruncateTable(this, tableName);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      }<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    });<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>  public void postTruncateTable(final TableName tableName) throws IOException {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      @Override<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      public void call(MasterObserver observer) throws IOException {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>        observer.postTruncateTable(this, tableName);<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    });<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>  public void preTruncateTableAction(final TableName tableName, final User user)<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      throws IOException {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.416"></a>
+<span class="sourceLineNo">417</span>      @Override<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      public void call(MasterObserver observer) throws IOException {<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        observer.preTruncateTableAction(this, tableName);<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      }<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    });<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
+<span class="sourceLineNo">423</span><a name="line.423"></a>
+<span class="sourceLineNo">424</span>  public void postCompletedTruncateTableAction(final TableName tableName, final User user)<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      throws IOException {<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      @Override<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      public void call(MasterObserver observer) throws IOException {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>        observer.postCompletedTruncateTableAction(this, tableName);<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      }<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    });<a name="line.431"></a>
+<span class="sourceLineNo">432</span>  }<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>  public void preModifyTable(final TableName tableName, final TableDescriptor currentDescriptor,<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    final TableDescriptor newDescriptor) throws IOException {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      @Override<a name="line.437"></a>
+<span class="sourceLineNo">438</span>      public void call(MasterObserver observer) throws IOException {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>        observer.preModifyTable(this, tableName, currentDescriptor, newDescriptor);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    });<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  }<a name="line.442"></a>
+<span class="sourceLineNo">443</span><a name="line.443"></a>
+<span class="sourceLineNo">444</span>  public void postModifyTable(final TableName tableName, final TableDescriptor oldDescriptor,<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    final TableDescriptor currentDescriptor) throws IOException {<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      @Override<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      public void call(MasterObserver observer) throws IOException {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>        observer.postModifyTable(this, tableName, oldDescriptor, currentDescriptor);<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><a name="line.453"></a>
+<span class="sourceLineNo">454</span>  public void preModifyTableAction(final TableName tableName,<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    final TableDescriptor currentDescriptor, final TableDescriptor newDescriptor, final User user)<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    throws IOException {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      @Override<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      public void call(MasterObserver observer) throws IOException {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>        observer.preModifyTableAction(this, tableName, currentDescriptor, newDescriptor);<a name="line.460"></a>
+<span class="sourceLineNo">4

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private Histogram remoteRpcCallsHistogram;<a name="line.1

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private Histogram remoteRpcCallsHistogram;<a name="l

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
index 5404ea1..1812a55 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
@@ -35,901 +35,908 @@
 <span class="sourceLineNo">027</span>import java.net.InetSocketAddress;<a name="line.27"></a>
 <span class="sourceLineNo">028</span>import java.net.URLDecoder;<a name="line.28"></a>
 <span class="sourceLineNo">029</span>import java.net.URLEncoder;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.ArrayList;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Arrays;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.List;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.Map;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.Set;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.TreeMap;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.TreeSet;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.util.UUID;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.function.Function;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.stream.Collectors;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.commons.lang3.StringUtils;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.conf.Configuration;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.fs.FileSystem;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.fs.Path;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.Cell;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HConstants;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.TableName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.client.Put;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.Table;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.fs.HFileSystem;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.ImmutableBytesWritable;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.compress.Compression;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFileContext;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.io.hfile.HFileWriterImpl;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.regionserver.BloomType;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.regionserver.StoreFileWriter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.util.MapReduceExtendedCell;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.io.NullWritable;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.io.SequenceFile;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.io.Text;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.mapreduce.Job;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.mapreduce.OutputCommitter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.mapreduce.OutputFormat;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.mapreduce.RecordWriter;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.slf4j.Logger;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.slf4j.LoggerFactory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>/**<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * Writes HFiles. Passed Cells must arrive in order.<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * Writes current time as the sequence id for the file. Sets the major compacted<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * attribute on created @{link {@link HFile}s. Calling write(null,null) will forcibly roll<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * all HFiles being written.<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * &lt;p&gt;<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * Using this class as part of a MapReduce job is best done<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * using {@link #configureIncrementalLoad(Job, TableDescriptor, RegionLocator)}.<a name="line.103"></a>
-<span class="sourceLineNo">104</span> */<a name="line.104"></a>
-<span class="sourceLineNo">105</span>@InterfaceAudience.Public<a name="line.105"></a>
-<span class="sourceLineNo">106</span>public class HFileOutputFormat2<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    extends FileOutputFormat&lt;ImmutableBytesWritable, Cell&gt; {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  private static final Logger LOG = LoggerFactory.getLogger(HFileOutputFormat2.class);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  static class TableInfo {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    private TableDescriptor tableDesctiptor;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    private RegionLocator regionLocator;<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public TableInfo(TableDescriptor tableDesctiptor, RegionLocator regionLocator) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      this.tableDesctiptor = tableDesctiptor;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      this.regionLocator = regionLocator;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>    /**<a name="line.118"></a>
-<span class="sourceLineNo">119</span>     * The modification for the returned HTD doesn't affect the inner TD.<a name="line.119"></a>
-<span class="sourceLineNo">120</span>     * @return A clone of inner table descriptor<a name="line.120"></a>
-<span class="sourceLineNo">121</span>     * @deprecated use {@link #getTableDescriptor}<a name="line.121"></a>
-<span class="sourceLineNo">122</span>     */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    @Deprecated<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    public HTableDescriptor getHTableDescriptor() {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return new HTableDescriptor(tableDesctiptor);<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>    public TableDescriptor getTableDescriptor() {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      return tableDesctiptor;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    }<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>    public RegionLocator getRegionLocator() {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      return regionLocator;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  protected static final byte[] tableSeparator = Bytes.toBytes(";");<a name="line.137"></a>
-<span class="sourceLineNo">138</span><a name="line.138"></a>
-<span class="sourceLineNo">139</span>  protected static byte[] combineTableNameSuffix(byte[] tableName, byte[] suffix) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    return Bytes.add(tableName, tableSeparator, suffix);<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  // The following constants are private since these are used by<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  // HFileOutputFormat2 to internally transfer data between job setup and<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  // reducer run using conf.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  // These should not be changed by the client.<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  static final String COMPRESSION_FAMILIES_CONF_KEY =<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      "hbase.hfileoutputformat.families.compression";<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  static final String BLOOM_TYPE_FAMILIES_CONF_KEY =<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      "hbase.hfileoutputformat.families.bloomtype";<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  static final String BLOCK_SIZE_FAMILIES_CONF_KEY =<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      "hbase.mapreduce.hfileoutputformat.blocksize";<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  static final String DATABLOCK_ENCODING_FAMILIES_CONF_KEY =<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      "hbase.mapreduce.hfileoutputformat.families.datablock.encoding";<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  // This constant is public since the client can modify this when setting<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  // up their conf object and thus refer to this symbol.<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  // It is present for backwards compatibility reasons. Use it only to<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  // override the auto-detection of datablock encoding.<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  public static final String DATABLOCK_ENCODING_OVERRIDE_CONF_KEY =<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      "hbase.mapreduce.hfileoutputformat.datablock.encoding";<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>  /**<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * Keep locality while generating HFiles for bulkload. See HBASE-12596<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public static final String LOCALITY_SENSITIVE_CONF_KEY =<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      "hbase.bulkload.locality.sensitive.enabled";<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  private static final boolean DEFAULT_LOCALITY_SENSITIVE = true;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  static final String OUTPUT_TABLE_NAME_CONF_KEY =<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      "hbase.mapreduce.hfileoutputformat.table.name";<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  static final String MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY =<a name="line.171"></a>
-<span class="sourceLineNo">172</span>          "hbase.mapreduce.use.multi.table.hfileoutputformat";<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  public static final String STORAGE_POLICY_PROPERTY = HStore.BLOCK_STORAGE_POLICY_KEY;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public static final String STORAGE_POLICY_PROPERTY_CF_PREFIX = STORAGE_POLICY_PROPERTY + ".";<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @Override<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public RecordWriter&lt;ImmutableBytesWritable, Cell&gt; getRecordWriter(<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      final TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return createRecordWriter(context, this.getOutputCommitter(context));<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  protected static byte[] getTableNameSuffixedWithFamily(byte[] tableName, byte[] family) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    return combineTableNameSuffix(tableName, family);<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>  static &lt;V extends Cell&gt; RecordWriter&lt;ImmutableBytesWritable, V&gt;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      createRecordWriter(final TaskAttemptContext context, final OutputCommitter committer)<a name="line.188"></a>
-<span class="sourceLineNo">189</span>          throws IOException {<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>    // Get the path of the temporary output file<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    final Path outputDir = ((FileOutputCommitter)committer).getWorkPath();<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    final Configuration conf = context.getConfiguration();<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    final boolean writeMultipleTables = conf.getBoolean(MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY, false) ;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    final String writeTableNames = conf.get(OUTPUT_TABLE_NAME_CONF_KEY);<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    if (writeTableNames==null || writeTableNames.isEmpty()) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      throw new IllegalArgumentException("Configuration parameter " + OUTPUT_TABLE_NAME_CONF_KEY<a name="line.197"></a>
-<span class="sourceLineNo">198</span>              + " cannot be empty");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    }<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    final FileSystem fs = outputDir.getFileSystem(conf);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    // These configs. are from hbase-*.xml<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    final long maxsize = conf.getLong(HConstants.HREGION_MAX_FILESIZE,<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        HConstants.DEFAULT_MAX_FILE_SIZE);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    // Invented config.  Add to hbase-*.xml if other than default compression.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    final String defaultCompressionStr = conf.get("hfile.compression",<a name="line.205"></a>
-<span class="sourceLineNo">206</span>        Compression.Algorithm.NONE.getName());<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    final Algorithm defaultCompression = HFileWriterImpl<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        .compressionByName(defaultCompressionStr);<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    final boolean compactionExclude = conf.getBoolean(<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        "hbase.mapreduce.hfileoutputformat.compaction.exclude", false);<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    final Set&lt;String&gt; allTableNames = Arrays.stream(writeTableNames.split(<a name="line.212"></a>
-<span class="sourceLineNo">213</span>            Bytes.toString(tableSeparator))).collect(Collectors.toSet());<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // create a map from column family to the compression algorithm<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    final Map&lt;byte[], Algorithm&gt; compressionMap = createFamilyCompressionMap(conf);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    final Map&lt;byte[], BloomType&gt; bloomTypeMap = createFamilyBloomTypeMap(conf);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    final Map&lt;byte[], Integer&gt; blockSizeMap = createFamilyBlockSizeMap(conf);<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>    String dataBlockEncodingStr = conf.get(DATABLOCK_ENCODING_OVERRIDE_CONF_KEY);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    final Map&lt;byte[], DataBlockEncoding&gt; datablockEncodingMap<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        = createFamilyDataBlockEncodingMap(conf);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    final DataBlockEncoding overriddenEncoding;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    if (dataBlockEncodingStr != null) {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      overriddenEncoding = DataBlockEncoding.valueOf(dataBlockEncodingStr);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    } else {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      overriddenEncoding = null;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>    return new RecordWriter&lt;ImmutableBytesWritable, V&gt;() {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      // Map of families to writers and how much has been output on the writer.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      private final Map&lt;byte[], WriterLength&gt; writers =<a name="line.232"></a>
-<span class="sourceLineNo">233</span>              new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      private byte[] previousRow = HConstants.EMPTY_BYTE_ARRAY;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      private final long now = EnvironmentEdgeManager.currentTime();<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      private boolean rollRequested = false;<a name="line.236"></a>
-<span class="sourceLineNo">237</span><a name="line.237"></a>
-<span class="sourceLineNo">238</span>      @Override<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      public void write(ImmutableBytesWritable row, V cell)<a name="line.239"></a>
-<span class="sourceLineNo">240</span>          throws IOException {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        Cell kv = cell;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>        // null input == user explicitly wants to flush<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        if (row == null &amp;&amp; kv == null) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>          rollWriters(null);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>          return;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>        }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>        byte[] rowKey = CellUtil.cloneRow(kv);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        int length = (PrivateCellUtil.estimatedSerializedSizeOf(kv)) - Bytes.SIZEOF_INT;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        byte[] family = CellUtil.cloneFamily(kv);<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        byte[] tableNameBytes = null;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        if (writeMultipleTables) {<a name="line.252"></a>
-<span class="sourceLineNo">253</span>          tableNameBytes = MultiTableHFileOutputFormat.getTableName(row.get());<a name="line.253"></a>
-<span class="sourceLineNo">254</span>          if (!allTableNames.contains(Bytes.toString(tableNameBytes))) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>            throw new IllegalArgumentException("TableName '" + Bytes.toString(tableNameBytes) +<a name="line.255"></a>
-<span class="sourceLineNo">256</span>                    "' not" + " expected");<a name="line.256"></a>
-<span class="sourceLineNo">257</span>          }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        } else {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>          tableNameBytes = Bytes.toBytes(writeTableNames);<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        }<a name="line.260"></a>
-<span class="sourceLineNo">261</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        Path tableRelPath = getTableRelativePath(tableNameBytes);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableNameBytes, family);<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>        WriterLength wl = this.writers.get(tableAndFamily);<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>        // If this is a new column family, verify that the directory exists<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        if (wl == null) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>          Path writerPath = null;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          if (writeMultipleTables) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            writerPath = new Path(outputDir,new Path(tableRelPath, Bytes<a name="line.271"></a>
-<span class="sourceLineNo">272</span>                    .toString(family)));<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>          else {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>            writerPath = new Path(outputDir, Bytes.toString(family));<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          }<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          fs.mkdirs(writerPath);<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          configureStoragePolicy(conf, fs, tableAndFamily, writerPath);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        }<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>        if (wl != null &amp;&amp; wl.written + length &gt;= maxsize) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          this.rollRequested = true;<a name="line.283"></a>
+<span class="sourceLineNo">030</span>import java.nio.charset.Charset;<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.List;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Map;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.Set;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.TreeMap;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.TreeSet;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.UUID;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.function.Function;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.stream.Collectors;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.commons.lang3.StringUtils;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.conf.Configuration;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.fs.FileSystem;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.fs.Path;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.Cell;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HConstants;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.TableName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.client.Put;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.Table;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.fs.HFileSystem;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.ImmutableBytesWritable;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.compress.Compression;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileContext;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.io.hfile.HFileWriterImpl;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.regionserver.BloomType;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.regionserver.StoreFileWriter;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.util.MapReduceExtendedCell;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.io.NullWritable;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.io.SequenceFile;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.io.Text;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.mapreduce.Job;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.mapreduce.OutputCommitter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.mapreduce.OutputFormat;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.mapreduce.RecordWriter;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.slf4j.Logger;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.slf4j.LoggerFactory;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>/**<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * Writes HFiles. Passed Cells must arrive in order.<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * Writes current time as the sequence id for the file. Sets the major compacted<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * attribute on created @{link {@link HFile}s. Calling write(null,null) will forcibly roll<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * all HFiles being written.<a name="line.101"></a>
+<span class="sourceLineNo">102</span> * &lt;p&gt;<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * Using this class as part of a MapReduce job is best done<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * using {@link #configureIncrementalLoad(Job, TableDescriptor, RegionLocator)}.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>@InterfaceAudience.Public<a name="line.106"></a>
+<span class="sourceLineNo">107</span>public class HFileOutputFormat2<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    extends FileOutputFormat&lt;ImmutableBytesWritable, Cell&gt; {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  private static final Logger LOG = LoggerFactory.getLogger(HFileOutputFormat2.class);<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  static class TableInfo {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    private TableDescriptor tableDesctiptor;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    private RegionLocator regionLocator;<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>    public TableInfo(TableDescriptor tableDesctiptor, RegionLocator regionLocator) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      this.tableDesctiptor = tableDesctiptor;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      this.regionLocator = regionLocator;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>    /**<a name="line.119"></a>
+<span class="sourceLineNo">120</span>     * The modification for the returned HTD doesn't affect the inner TD.<a name="line.120"></a>
+<span class="sourceLineNo">121</span>     * @return A clone of inner table descriptor<a name="line.121"></a>
+<span class="sourceLineNo">122</span>     * @deprecated use {@link #getTableDescriptor}<a name="line.122"></a>
+<span class="sourceLineNo">123</span>     */<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    @Deprecated<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    public HTableDescriptor getHTableDescriptor() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      return new HTableDescriptor(tableDesctiptor);<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>    public TableDescriptor getTableDescriptor() {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      return tableDesctiptor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    }<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>    public RegionLocator getRegionLocator() {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      return regionLocator;<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><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  protected static final byte[] tableSeparator = Bytes.toBytes(";");<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span>  protected static byte[] combineTableNameSuffix(byte[] tableName, byte[] suffix) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    return Bytes.add(tableName, tableSeparator, suffix);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  // The following constants are private since these are used by<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  // HFileOutputFormat2 to internally transfer data between job setup and<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  // reducer run using conf.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  // These should not be changed by the client.<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  static final String COMPRESSION_FAMILIES_CONF_KEY =<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      "hbase.hfileoutputformat.families.compression";<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  static final String BLOOM_TYPE_FAMILIES_CONF_KEY =<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      "hbase.hfileoutputformat.families.bloomtype";<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  static final String BLOCK_SIZE_FAMILIES_CONF_KEY =<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      "hbase.mapreduce.hfileoutputformat.blocksize";<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  static final String DATABLOCK_ENCODING_FAMILIES_CONF_KEY =<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      "hbase.mapreduce.hfileoutputformat.families.datablock.encoding";<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  // This constant is public since the client can modify this when setting<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  // up their conf object and thus refer to this symbol.<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  // It is present for backwards compatibility reasons. Use it only to<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  // override the auto-detection of datablock encoding.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public static final String DATABLOCK_ENCODING_OVERRIDE_CONF_KEY =<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      "hbase.mapreduce.hfileoutputformat.datablock.encoding";<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>  /**<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * Keep locality while generating HFiles for bulkload. See HBASE-12596<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   */<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static final String LOCALITY_SENSITIVE_CONF_KEY =<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      "hbase.bulkload.locality.sensitive.enabled";<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  private static final boolean DEFAULT_LOCALITY_SENSITIVE = true;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  static final String OUTPUT_TABLE_NAME_CONF_KEY =<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      "hbase.mapreduce.hfileoutputformat.table.name";<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  static final String MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY =<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          "hbase.mapreduce.use.multi.table.hfileoutputformat";<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public static final String STORAGE_POLICY_PROPERTY = HStore.BLOCK_STORAGE_POLICY_KEY;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public static final String STORAGE_POLICY_PROPERTY_CF_PREFIX = STORAGE_POLICY_PROPERTY + ".";<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  @Override<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public RecordWriter&lt;ImmutableBytesWritable, Cell&gt; getRecordWriter(<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      final TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return createRecordWriter(context, this.getOutputCommitter(context));<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  }<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>  protected static byte[] getTableNameSuffixedWithFamily(byte[] tableName, byte[] family) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return combineTableNameSuffix(tableName, family);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>  static &lt;V extends Cell&gt; RecordWriter&lt;ImmutableBytesWritable, V&gt;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      createRecordWriter(final TaskAttemptContext context, final OutputCommitter committer)<a name="line.189"></a>
+<span class="sourceLineNo">190</span>          throws IOException {<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>    // Get the path of the temporary output file<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    final Path outputDir = ((FileOutputCommitter)committer).getWorkPath();<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    final Configuration conf = context.getConfiguration();<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    final boolean writeMultipleTables = conf.getBoolean(MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY, false) ;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    final String writeTableNames = conf.get(OUTPUT_TABLE_NAME_CONF_KEY);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    if (writeTableNames==null || writeTableNames.isEmpty()) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      throw new IllegalArgumentException("Configuration parameter " + OUTPUT_TABLE_NAME_CONF_KEY<a name="line.198"></a>
+<span class="sourceLineNo">199</span>              + " cannot be empty");<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    final FileSystem fs = outputDir.getFileSystem(conf);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    // These configs. are from hbase-*.xml<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    final long maxsize = conf.getLong(HConstants.HREGION_MAX_FILESIZE,<a name="line.203"></a>
+<span class="sourceLineNo">204</span>        HConstants.DEFAULT_MAX_FILE_SIZE);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    // Invented config.  Add to hbase-*.xml if other than default compression.<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    final String defaultCompressionStr = conf.get("hfile.compression",<a name="line.206"></a>
+<span class="sourceLineNo">207</span>        Compression.Algorithm.NONE.getName());<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    final Algorithm defaultCompression = HFileWriterImpl<a name="line.208"></a>
+<span class="sourceLineNo">209</span>        .compressionByName(defaultCompressionStr);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    final boolean compactionExclude = conf.getBoolean(<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        "hbase.mapreduce.hfileoutputformat.compaction.exclude", false);<a name="line.211"></a>
+<span class="sourceLineNo">212</span><a name="line.212"></a>
+<span class="sourceLineNo">213</span>    final Set&lt;String&gt; allTableNames = Arrays.stream(writeTableNames.split(<a name="line.213"></a>
+<span class="sourceLineNo">214</span>            Bytes.toString(tableSeparator))).collect(Collectors.toSet());<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>    // create a map from column family to the compression algorithm<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    final Map&lt;byte[], Algorithm&gt; compressionMap = createFamilyCompressionMap(conf);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    final Map&lt;byte[], BloomType&gt; bloomTypeMap = createFamilyBloomTypeMap(conf);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    final Map&lt;byte[], Integer&gt; blockSizeMap = createFamilyBlockSizeMap(conf);<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>    String dataBlockEncodingStr = conf.get(DATABLOCK_ENCODING_OVERRIDE_CONF_KEY);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    final Map&lt;byte[], DataBlockEncoding&gt; datablockEncodingMap<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        = createFamilyDataBlockEncodingMap(conf);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    final DataBlockEncoding overriddenEncoding;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    if (dataBlockEncodingStr != null) {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      overriddenEncoding = DataBlockEncoding.valueOf(dataBlockEncodingStr);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    } else {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      overriddenEncoding = null;<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return new RecordWriter&lt;ImmutableBytesWritable, V&gt;() {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      // Map of families to writers and how much has been output on the writer.<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      private final Map&lt;byte[], WriterLength&gt; writers =<a name="line.233"></a>
+<span class="sourceLineNo">234</span>              new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      private byte[] previousRow = HConstants.EMPTY_BYTE_ARRAY;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      private final long now = EnvironmentEdgeManager.currentTime();<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      private boolean rollRequested = false;<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>      @Override<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      public void write(ImmutableBytesWritable row, V cell)<a name="line.240"></a>
+<span class="sourceLineNo">241</span>          throws IOException {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        Cell kv = cell;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        // null input == user explicitly wants to flush<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        if (row == null &amp;&amp; kv == null) {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>          rollWriters(null);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>          return;<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>        byte[] rowKey = CellUtil.cloneRow(kv);<a name="line.249"></a>
+<span class="sourceLineNo">250</span>        int length = (PrivateCellUtil.estimatedSerializedSizeOf(kv)) - Bytes.SIZEOF_INT;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        byte[] family = CellUtil.cloneFamily(kv);<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        byte[] tableNameBytes = null;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        if (writeMultipleTables) {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>          tableNameBytes = MultiTableHFileOutputFormat.getTableName(row.get());<a name="line.254"></a>
+<span class="sourceLineNo">255</span>          tableNameBytes =<a name="line.255"></a>
+<span class="sourceLineNo">256</span>              TableName.valueOf(tableNameBytes).getNameWithNamespaceInclAsString()<a name="line.256"></a>
+<span class="sourceLineNo">257</span>              .getBytes(Charset.defaultCharset());<a name="line.257"></a>
+<span class="sourceLineNo">258</span>          if (!allTableNames.contains(Bytes.toString(tableNameBytes))) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>            throw new IllegalArgumentException("TableName '" + Bytes.toString(tableNameBytes) +<a name="line.259"></a>
+<span class="sourceLineNo">260</span>                    "' not" + " expected");<a name="line.260"></a>
+<span class="sourceLineNo">261</span>          }<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        } else {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>          tableNameBytes = Bytes.toBytes(writeTableNames);<a name="line.263"></a>
+<span class="sourceLineNo">264</span>        }<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        Path tableRelPath = getTableRelativePath(tableNameBytes);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableNameBytes, family);<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>        WriterLength wl = this.writers.get(tableAndFamily);<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>        // If this is a new column family, verify that the directory exists<a name="line.271"></a>
+<span class="sourceLineNo">272</span>        if (wl == null) {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>          Path writerPath = null;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>          if (writeMultipleTables) {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>            writerPath = new Path(outputDir,new Path(tableRelPath, Bytes<a name="line.275"></a>
+<span class="sourceLineNo">276</span>                    .toString(family)));<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>          else {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>            writerPath = new Path(outputDir, Bytes.toString(family));<a name="line.280"></a>
+<span class="sourceLineNo">281</span>          }<a name="line.281"></a>
+<span class="sourceLineNo">282</span>          fs.mkdirs(writerPath);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>          configureStoragePolicy(conf, fs, tableAndFamily, writerPath);<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>        // This can only happen once a row is finished though<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        if (rollRequested &amp;&amp; Bytes.compareTo(this.previousRow, rowKey) != 0) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>          rollWriters(wl);<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>        // create a new WAL writer, if necessary<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        if (wl == null || wl.writer == null) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          if (conf.getBoolean(LOCALITY_SENSITIVE_CONF_KEY, DEFAULT_LOCALITY_SENSITIVE)) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            HRegionLocation loc = null;<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>            if (tableName != null) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>              try (Connection connection = ConnectionFactory.createConnection(conf);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>                     RegionLocator locator =<a name="line.298"></a>
-<span class="sourceLineNo">299</span>                       connection.getRegionLocator(TableName.valueOf(tableName))) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>                loc = locator.getRegionLocation(rowKey);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>              } catch (Throwable e) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>                LOG.warn("There's something wrong when locating rowkey: " +<a name="line.302"></a>
-<span class="sourceLineNo">303</span>                  Bytes.toString(rowKey) + " for tablename: " + tableName, e);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>                loc = null;<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>            if (null == loc) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>              if (LOG.isTraceEnabled()) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>                LOG.trace("failed to get region location, so use default writer for rowkey: " +<a name="line.309"></a>
-<span class="sourceLineNo">310</span>                  Bytes.toString(rowKey));<a name="line.310"></a>
-<span class="sourceLineNo">311</span>              }<a name="line.311"></a>
-<span class="sourceLineNo">312</span>              wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>            } else {<a name="line.313"></a>
-<span class="sourceLineNo">314</span>              if (LOG.isDebugEnabled()) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>                LOG.debug("first rowkey: [" + Bytes.toString(rowKey) + "]");<a name="line.315"></a>
-<span class="sourceLineNo">316</span>              }<a name="line.316"></a>
-<span class="sourceLineNo">317</span>              InetSocketAddress initialIsa =<a name="line.317"></a>
-<span class="sourceLineNo">318</span>                  new InetSocketAddress(loc.getHostname(), loc.getPort());<a name="line.318"></a>
-<span class="sourceLineNo">319</span>              if (initialIsa.isUnresolved()) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>                if (LOG.isTraceEnabled()) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>                  LOG.trace("failed to resolve bind address: " + loc.getHostname() + ":"<a name="line.321"></a>
-<span class="sourceLineNo">322</span>                      + loc.getPort() + ", so use default writer");<a name="line.322"></a>
-<span class="sourceLineNo">323</span>                }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>                wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.324"></a>
-<span class="sourceLineNo">325</span>              } else {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>                if (LOG.isDebugEnabled()) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>                  LOG.debug("use favored nodes writer: " + initialIsa.getHostString());<a name="line.327"></a>
-<span class="sourceLineNo">328</span>                }<a name="line.328"></a>
-<span class="sourceLineNo">329</span>                wl = getNewWriter(tableNameBytes, family, conf, new InetSocketAddress[] { initialIsa<a name="line.329"></a>
-<span class="sourceLineNo">330</span>                });<a name="line.330"></a>
-<span class="sourceLineNo">331</span>              }<a name="line.331"></a>
-<span class="sourceLineNo">332</span>            }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>          } else {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>            wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>          }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>        }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>        // we now have the proper WAL writer. full steam ahead<a name="line.338"></a>
-<span class="sourceLineNo">339</span>        PrivateCellUtil.updateLatestStamp(cell, this.now);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        wl.writer.append(kv);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>        wl.written += length;<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>        // Copy the row so we know when a row transition.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        this.previousRow = rowKey;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      }<a name="line.345"></a>
+<span class="sourceLineNo">286</span>        if (wl != null &amp;&amp; wl.written + length &gt;= maxsize) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>          this.rollRequested = true;<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>        // This can only happen once a row is finished though<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        if (rollRequested &amp;&amp; Bytes.compareTo(this.previousRow, rowKey) != 0) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>          rollWriters(wl);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        }<a name="line.293"></a>
+<span class="sourceLineNo">294</span><a name="line.294"></a>
+<span class="sourceLineNo">295</span>        // create a new WAL writer, if necessary<a name="line.295"></a>
+<span class="sourceLineNo">296</span>        if (wl == null || wl.writer == null) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>          if (conf.getBoolean(LOCALITY_SENSITIVE_CONF_KEY, DEFAULT_LOCALITY_SENSITIVE)) {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>            HRegionLocation loc = null;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>            if (tableName != null) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>              try (Connection connection = ConnectionFactory.createConnection(conf);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>                     RegionLocator locator =<a name="line.302"></a>
+<span class="sourceLineNo">303</span>                       connection.getRegionLocator(TableName.valueOf(tableName))) {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>                loc = locator.getRegionLocation(rowKey);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>              } catch (Throwable e) {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>                LOG.warn("There's something wrong when locating rowkey: " +<a name="line.306"></a>
+<span class="sourceLineNo">307</span>                  Bytes.toString(rowKey) + " for tablename: " + tableName, e);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>                loc = null;<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>            if (null == loc) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>              if (LOG.isTraceEnabled()) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>                LOG.trace("failed to get region location, so use default writer for rowkey: " +<a name="line.313"></a>
+<span class="sourceLineNo">314</span>                  Bytes.toString(rowKey));<a name="line.314"></a>
+<span class="sourceLineNo">315</span>              }<a name="line.315"></a>
+<span class="sourceLineNo">316</span>              wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.316"></a>
+<span class="sourceLineNo">317</span>            } else {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>              if (LOG.isDebugEnabled()) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>                LOG.debug("first rowkey: [" + Bytes.toString(rowKey) + "]");<a name="line.319"></a>
+<span class="sourceLineNo">320</span>              }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>              InetSocketAddress initialIsa =<a name="line.321"></a>
+<span class="sourceLineNo">322</span>                  new InetSocketAddress(loc.getHostname(), loc.getPort());<a name="line.322"></a>
+<span class="sourceLineNo">323</span>              if (initialIsa.isUnresolved()) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>                if (LOG.isTraceEnabled()) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>                  LOG.trace("failed to resolve bind address: " + loc.getHostname() + ":"<a name="line.325"></a>
+<span class="sourceLineNo">326</span>                      + loc.getPort() + ", so use default writer");<a name="line.326"></a>
+<span class="sourceLineNo">327</span>                }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>                wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>              } else {<a name="line.329"></a>
+<span class="sourceLineNo">330</span>                if (LOG.isDebugEnabled()) {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>                  LOG.debug("use favored nodes writer: " + initialIsa.getHostString());<a name="line.331"></a>
+<span class="sourceLineNo">332</span>                }<a name="line.332"></a>
+<span class="sourceLineNo">333</span>                wl = getNewWriter(tableNameBytes, family, conf, new InetSocketAddress[] { initialIsa<a name="line.333"></a>
+<span class="sourceLineNo">334</span>                });<a name="line.334"></a>
+<span class="sourceLineNo">335</span>              }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>            }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>          } else {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>            wl = getNewWriter(tableNameBytes, family, conf, null);<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>        // we now have the proper WAL writer. full steam ahead<a name="line.342"></a>
+<span class="sourceLineNo">343</span>        PrivateCellUtil.updateLatestStamp(cell, this.now);<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        wl.writer.append(kv);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        wl.written += length;<a name="line.345"></a>
 <span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>      private Path getTableRelativePath(byte[] tableNameBytes) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        String[] tableNameParts = tableName.split(":");<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        Path tableRelPath = new Path(tableName.split(":")[0]);<a name="line.350"></a>
-<span class="sourceLineNo">351</span>        if (tableNameParts.length &gt; 1) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>          tableRelPath = new Path(tableRelPath, tableName.split(":")[1]);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>        }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        return tableRelPath;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      }<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      private void rollWriters(WriterLength writerLength) throws IOException {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>        if (writerLength != null) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>          closeWriter(writerLength);<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        } else {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>          for (WriterLength wl : this.writers.values()) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>            closeWriter(wl);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>          }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        }<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        this.rollRequested = false;<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>      private void closeWriter(WriterLength wl) throws IOException {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        if (wl.writer != null) {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>          LOG.info(<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              "Writer=" + wl.writer.getPath() + ((wl.written == 0)? "": ", wrote=" + wl.written));<a name="line.370"></a>
-<span class="sourceLineNo">371</span>          close(wl.writer);<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        }<a name="line.372"></a>
-<span class="sourceLineNo">373</span>        wl.writer = null;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>        wl.written = 0;<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      }<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      /*<a name="line.377"></a>
-<span class="sourceLineNo">378</span>       * Create a new StoreFile.Writer.<a name="line.378"></a>
-<span class="sourceLineNo">379</span>       * @param family<a name="line.379"></a>
-<span class="sourceLineNo">380</span>       * @return A WriterLength, containing a new StoreFile.Writer.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>       * @throws IOException<a name="line.381"></a>
-<span class="sourceLineNo">382</span>       */<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="BX_UNBOXING_IMMEDIATELY_REBOXED",<a name="line.383"></a>
-<span class="sourceLineNo">384</span>          justification="Not important")<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      private WriterLength getNewWriter(byte[] tableName, byte[] family, Configuration<a name="line.385"></a>
-<span class="sourceLineNo">386</span>              conf, InetSocketAddress[] favoredNodes) throws IOException {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableName, family);<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        Path familydir = new Path(outputDir, Bytes.toString(family));<a name="line.388"></a>
-<span class="sourceLineNo">389</span>        if (writeMultipleTables) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>          familydir = new Path(outputDir,<a name="line.390"></a>
-<span class="sourceLineNo">391</span>                  new Path(getTableRelativePath(tableName), Bytes.toString(family)));<a name="line.391"></a>
-<span class="sourceLineNo">392</span>        }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>        WriterLength wl = new WriterLength();<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        Algorithm compression = compressionMap.get(tableAndFamily);<a name="line.394"></a>
-<span class="sourceLineNo">395</span>        compression = compression == null ? defaultCompression : compression;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>        BloomType bloomType = bloomTypeMap.get(tableAndFamily);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>        bloomType = bloomType == null ? BloomType.NONE : bloomType;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        Integer blockSize = blockSizeMap.get(tableAndFamily);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        blockSize = blockSize == null ? HConstants.DEFAULT_BLOCKSIZE : blockSize;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        DataBlockEncoding encoding = overriddenEncoding;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        encoding = encoding == null ? datablockEncodingMap.get(tableAndFamily) : encoding;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        encoding = encoding == null ? DataBlockEncoding.NONE : encoding;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        Configuration tempConf = new Configuration(conf);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>        tempConf.setFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, 0.0f);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>        HFileContextBuilder contextBuilder = new HFileContextBuilder()<a name="line.405"></a>
-<span class="sourceLineNo">406</span>                                    .withCompression(compression)<a name="line.406"></a>
-<span class="sourceLineNo">407</span>                                    .withChecksumType(HStore.getChecksumType(conf))<a name="line.407"></a>
-<span class="sourceLineNo">408</span>                                    .withBytesPerCheckSum(HStore.getBytesPerChecksum(conf))<a name="line.408"></a>
-<span class="sourceLineNo">409</span>                                    .withBlockSize(blockSize);<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>        if (HFile.getFormatVersion(conf) &gt;= HFile.MIN_FORMAT_VERSION_WITH_TAGS) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          contextBuilder.withIncludesTags(true);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>        }<a name="line.413"></a>
+<span class="sourceLineNo">347</span>        // Copy the row so we know when a row transition.<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        this.previousRow = rowKey;<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>      private Path getTableRelativePath(byte[] tableNameBytes) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        String[] tableNameParts = tableName.split(":");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        Path tableRelPath = new Path(tableName.split(":")[0]);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>        if (tableNameParts.length &gt; 1) {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>          tableRelPath = new Path(tableRelPath, tableName.split(":")[1]);<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        }<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        return tableRelPath;<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      }<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      private void rollWriters(WriterLength writerLength) throws IOException {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        if (writerLength != null) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span>          closeWriter(writerLength);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        } else {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          for (WriterLength wl : this.writers.values()) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>            closeWriter(wl);<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>        this.rollRequested = false;<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>      private void closeWriter(WriterLength wl) throws IOException {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>        if (wl.writer != null) {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>          LOG.info(<a name="line.373"></a>
+<span class="sourceLineNo">374</span>              "Writer=" + wl.writer.getPath() + ((wl.written == 0)? "": ", wrote=" + wl.written));<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          close(wl.writer);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>        }<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        wl.writer = null;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        wl.written = 0;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      }<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span>      /*<a name="line.381"></a>
+<span class="sourceLineNo">382</span>       * Create a new StoreFile.Writer.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>       * @param family<a name="line.383"></a>
+<span class="sourceLineNo">384</span>       * @return A WriterLength, containing a new StoreFile.Writer.<a name="line.384"></a>
+<span class="sourceLineNo">385</span>       * @throws IOException<a name="line.385"></a>
+<span class="sourceLineNo">386</span>       */<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="BX_UNBOXING_IMMEDIATELY_REBOXED",<a name="line.387"></a>
+<span class="sourceLineNo">388</span>          justification="Not important")<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      private WriterLength getNewWriter(byte[] tableName, byte[] family, Configuration<a name="line.389"></a>
+<span class="sourceLineNo">390</span>              conf, InetSocketAddress[] favoredNodes) throws IOException {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableName, family);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        Path familydir = new Path(outputDir, Bytes.toString(family));<a name="line.392"></a>
+<span class="sourceLineNo">393</span>        if (writeMultipleTables) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>          familydir = new Path(outputDir,<a name="line.394"></a>
+<span class="sourceLineNo">395</span>                  new Path(getTableRelativePath(tableName), Bytes.toString(family)));<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>        WriterLength wl = new WriterLength();<a name="line.397"></a>
+<span class="sourceLineNo">398</span>        Algorithm compression = compressionMap.get(tableAndFamily);<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        compression = compression == null ? defaultCompression : compression;<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        BloomType bloomType = bloomTypeMap.get(tableAndFamily);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        bloomType = bloomType == null ? BloomType.NONE : bloomType;<a name="line.401"></a>
+<span class="sourceLineNo">402</span>        Integer blockSize = blockSizeMap.get(tableAndFamily);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>        blockSize = blockSize == null ? HConstants.DEFAULT_BLOCKSIZE : blockSize;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>        DataBlockEncoding encoding = overriddenEncoding;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>        encoding = encoding == null ? datablockEncodingMap.get(tableAndFamily) : encoding;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>        encoding = encoding == null ? DataBlockEncoding.NONE : encoding;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>        Configuration tempConf = new Configuration(conf);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>        tempConf.setFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, 0.0f);<a name="line.408"></a>
+<span class="sourceLineNo">409</span>        HFileContextBuilder contextBuilder = new HFileContextBuilder()<a name="line.409"></a>
+<span class="sourceLineNo">410</span>                                    .withCompression(compression)<a name="line.410"></a>
+<span class="sourceLineNo">411</span>                                    .withChecksumType(HStore.getChecksumType(conf))<a name="line.411"></a>
+<span class="sourceLineNo">412</span>                                    .withBytesPerCheckSum(HStore.getBytesPerChecksum(conf))<a name="line.412"></a>
+<span class="sourceLineNo">413</span>                                    .withBlockSize(blockSize);<a name="line.413"></a>
 <span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>        contextBuilder.withDataBlockEncoding(encoding);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>        HFileContext hFileContext = contextBuilder.build();<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        if (null == favoredNodes) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>          wl.writer =<a name="line.418"></a>
-<span class="sourceLineNo">419</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), fs)<a name="line.419"></a>
-<span class="sourceLineNo">420</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.420"></a>
-<span class="sourceLineNo">421</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext).build();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        } else {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          wl.writer =<a name="line.423"></a>
-<span class="sourceLineNo">424</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), new HFileSystem(fs))<a name="line.424"></a>
-<span class="sourceLineNo">425</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.425"></a>
-<span class="sourceLineNo">426</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext)<a name="line.426"></a>
-<span class="sourceLineNo">427</span>                  .withFavoredNodes(favoredNodes).build();<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        }<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>        this.writers.put(tableAndFamily, wl);<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        return wl;<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      }<a name="line.432"></a>
+<span class="sourceLineNo">415</span>        if (HFile.getFormatVersion(conf) &gt;= HFile.MIN_FORMAT_VERSION_WITH_TAGS) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>          contextBuilder.withIncludesTags(true);<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>        contextBuilder.withDataBlockEncoding(encoding);<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        HFileContext hFileContext = contextBuilder.build();<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        if (null == favoredNodes) {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>          wl.writer =<a name="line.422"></a>
+<span class="sourceLineNo">423</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), fs)<a name="line.423"></a>
+<span class="sourceLineNo">424</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.424"></a>
+<span class="sourceLineNo">425</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext).build();<a name="line.425"></a>
+<span class="sourceLineNo">426</span>        } else {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>          wl.writer =<a name="line.427"></a>
+<span class="sourceLineNo">428</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), new HFileSystem(fs))<a name="line.428"></a>
+<span class="sourceLineNo">429</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.429"></a>
+<span class="sourceLineNo">430</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext)<a name="line.430"></a>
+<span class="sourceLineNo">431</span>                  .withFavoredNodes(favoredNodes).build();<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>      private void close(final StoreFileWriter w) throws IOException {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        if (w != null) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          w.appendFileInfo(BULKLOAD_TIME_KEY,<a name="line.436"></a>
-<span class="sourceLineNo">437</span>              Bytes.toBytes(System.currentTimeMillis()));<a name="line.437"></a>
-<span class="sourceLineNo">438</span>          w.appendFileInfo(BULKLOAD_TASK_KEY,<a name="line.438"></a>
-<span class="sourceLineNo">439</span>              Bytes.toBytes(context.getTaskAttemptID().toString()));<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          w.appendFileInfo(MAJOR_COMPACTION_KEY,<a name="line.440"></a>
-<span class="sourceLineNo">441</span>              Bytes.toBytes(true));<a name="line.441"></a>
-<span class="sourceLineNo">442</span>          w.appendFileInfo(EXCLUDE_FROM_MINOR_COMPACTION_KEY,<a name="line.442"></a>
-<span class="sourceLineNo">443</span>              Bytes.toBytes(compactionExclude));<a name="line.443"></a>
-<span class="sourceLineNo">444</span>          w.appendTrackedTimestampsToMetadata();<a name="line.444"></a>
-<span class="sourceLineNo">445</span>          w.close();<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        }<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      }<a name="line.447"></a>
-<span class="sourceLineNo">448</span><a name="line.448"></a>
-<span class="sourceLineNo">449</span>      @Override<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      public void close(TaskAttemptContext c)<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      throws IOException, InterruptedException {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        for (WriterLength wl: this.writers.values()) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          close(wl.writer);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>        }<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    };<a name="line.456"></a>
-<span class="sourceLineNo">457</span>  }<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>   * Configure block storage policy for CF after the directory is created.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   */<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  static void configureStoragePolicy(final Configuration conf, final FileSystem fs,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      byte[] tableAndFamily, Path cfPath) {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    if (null == conf || null == fs || null == tableAndFamily || null == cfPath) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      return;<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>    String policy =<a name="line.468"></a>
-<span class="sourceLineNo">469</span>        conf.get(STORAGE_POLICY_PROPERTY_CF_PREFIX + Bytes.toString(tableAndFamily),<a name="line.469"></a>
-<span class="sourceLineNo">470</span>          conf.get(STORAGE_POLICY_PROPERTY));<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    FSUtils.setStoragePolicy(fs, cfPath, policy);<a name="line.471"></a>
-<span class="sourceLineNo">472

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html
index 5404ea1..1812a55 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html
@@ -35,901 +35,908 @@
 <span class="sourceLineNo">027</span>import java.net.InetSocketAddress;<a name="line.27"></a>
 <span class="sourceLineNo">028</span>import java.net.URLDecoder;<a name="line.28"></a>
 <span class="sourceLineNo">029</span>import java.net.URLEncoder;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.ArrayList;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Arrays;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.List;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.Map;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.Set;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.TreeMap;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.TreeSet;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.util.UUID;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.function.Function;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import java.util.stream.Collectors;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.commons.lang3.StringUtils;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.conf.Configuration;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.fs.FileSystem;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.fs.Path;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.Cell;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HConstants;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.TableName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.client.Put;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.Table;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.fs.HFileSystem;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.io.ImmutableBytesWritable;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.compress.Compression;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFileContext;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.io.hfile.HFileWriterImpl;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.regionserver.BloomType;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.regionserver.StoreFileWriter;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.util.MapReduceExtendedCell;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.io.NullWritable;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.io.SequenceFile;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.io.Text;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.mapreduce.Job;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.mapreduce.OutputCommitter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.mapreduce.OutputFormat;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.mapreduce.RecordWriter;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.slf4j.Logger;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.slf4j.LoggerFactory;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>/**<a name="line.96"></a>
-<span class="sourceLineNo">097</span> * Writes HFiles. Passed Cells must arrive in order.<a name="line.97"></a>
-<span class="sourceLineNo">098</span> * Writes current time as the sequence id for the file. Sets the major compacted<a name="line.98"></a>
-<span class="sourceLineNo">099</span> * attribute on created @{link {@link HFile}s. Calling write(null,null) will forcibly roll<a name="line.99"></a>
-<span class="sourceLineNo">100</span> * all HFiles being written.<a name="line.100"></a>
-<span class="sourceLineNo">101</span> * &lt;p&gt;<a name="line.101"></a>
-<span class="sourceLineNo">102</span> * Using this class as part of a MapReduce job is best done<a name="line.102"></a>
-<span class="sourceLineNo">103</span> * using {@link #configureIncrementalLoad(Job, TableDescriptor, RegionLocator)}.<a name="line.103"></a>
-<span class="sourceLineNo">104</span> */<a name="line.104"></a>
-<span class="sourceLineNo">105</span>@InterfaceAudience.Public<a name="line.105"></a>
-<span class="sourceLineNo">106</span>public class HFileOutputFormat2<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    extends FileOutputFormat&lt;ImmutableBytesWritable, Cell&gt; {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  private static final Logger LOG = LoggerFactory.getLogger(HFileOutputFormat2.class);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  static class TableInfo {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    private TableDescriptor tableDesctiptor;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    private RegionLocator regionLocator;<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public TableInfo(TableDescriptor tableDesctiptor, RegionLocator regionLocator) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      this.tableDesctiptor = tableDesctiptor;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      this.regionLocator = regionLocator;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>    /**<a name="line.118"></a>
-<span class="sourceLineNo">119</span>     * The modification for the returned HTD doesn't affect the inner TD.<a name="line.119"></a>
-<span class="sourceLineNo">120</span>     * @return A clone of inner table descriptor<a name="line.120"></a>
-<span class="sourceLineNo">121</span>     * @deprecated use {@link #getTableDescriptor}<a name="line.121"></a>
-<span class="sourceLineNo">122</span>     */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    @Deprecated<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    public HTableDescriptor getHTableDescriptor() {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return new HTableDescriptor(tableDesctiptor);<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>    public TableDescriptor getTableDescriptor() {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      return tableDesctiptor;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    }<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>    public RegionLocator getRegionLocator() {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      return regionLocator;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span><a name="line.136"></a>
-<span class="sourceLineNo">137</span>  protected static final byte[] tableSeparator = Bytes.toBytes(";");<a name="line.137"></a>
-<span class="sourceLineNo">138</span><a name="line.138"></a>
-<span class="sourceLineNo">139</span>  protected static byte[] combineTableNameSuffix(byte[] tableName, byte[] suffix) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    return Bytes.add(tableName, tableSeparator, suffix);<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  // The following constants are private since these are used by<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  // HFileOutputFormat2 to internally transfer data between job setup and<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  // reducer run using conf.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  // These should not be changed by the client.<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  static final String COMPRESSION_FAMILIES_CONF_KEY =<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      "hbase.hfileoutputformat.families.compression";<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  static final String BLOOM_TYPE_FAMILIES_CONF_KEY =<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      "hbase.hfileoutputformat.families.bloomtype";<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  static final String BLOCK_SIZE_FAMILIES_CONF_KEY =<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      "hbase.mapreduce.hfileoutputformat.blocksize";<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  static final String DATABLOCK_ENCODING_FAMILIES_CONF_KEY =<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      "hbase.mapreduce.hfileoutputformat.families.datablock.encoding";<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  // This constant is public since the client can modify this when setting<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  // up their conf object and thus refer to this symbol.<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  // It is present for backwards compatibility reasons. Use it only to<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  // override the auto-detection of datablock encoding.<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  public static final String DATABLOCK_ENCODING_OVERRIDE_CONF_KEY =<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      "hbase.mapreduce.hfileoutputformat.datablock.encoding";<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>  /**<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * Keep locality while generating HFiles for bulkload. See HBASE-12596<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   */<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public static final String LOCALITY_SENSITIVE_CONF_KEY =<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      "hbase.bulkload.locality.sensitive.enabled";<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  private static final boolean DEFAULT_LOCALITY_SENSITIVE = true;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  static final String OUTPUT_TABLE_NAME_CONF_KEY =<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      "hbase.mapreduce.hfileoutputformat.table.name";<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  static final String MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY =<a name="line.171"></a>
-<span class="sourceLineNo">172</span>          "hbase.mapreduce.use.multi.table.hfileoutputformat";<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  public static final String STORAGE_POLICY_PROPERTY = HStore.BLOCK_STORAGE_POLICY_KEY;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public static final String STORAGE_POLICY_PROPERTY_CF_PREFIX = STORAGE_POLICY_PROPERTY + ".";<a name="line.175"></a>
-<span class="sourceLineNo">176</span><a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @Override<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public RecordWriter&lt;ImmutableBytesWritable, Cell&gt; getRecordWriter(<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      final TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return createRecordWriter(context, this.getOutputCommitter(context));<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  protected static byte[] getTableNameSuffixedWithFamily(byte[] tableName, byte[] family) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    return combineTableNameSuffix(tableName, family);<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>  static &lt;V extends Cell&gt; RecordWriter&lt;ImmutableBytesWritable, V&gt;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      createRecordWriter(final TaskAttemptContext context, final OutputCommitter committer)<a name="line.188"></a>
-<span class="sourceLineNo">189</span>          throws IOException {<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>    // Get the path of the temporary output file<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    final Path outputDir = ((FileOutputCommitter)committer).getWorkPath();<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    final Configuration conf = context.getConfiguration();<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    final boolean writeMultipleTables = conf.getBoolean(MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY, false) ;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    final String writeTableNames = conf.get(OUTPUT_TABLE_NAME_CONF_KEY);<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    if (writeTableNames==null || writeTableNames.isEmpty()) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      throw new IllegalArgumentException("Configuration parameter " + OUTPUT_TABLE_NAME_CONF_KEY<a name="line.197"></a>
-<span class="sourceLineNo">198</span>              + " cannot be empty");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    }<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    final FileSystem fs = outputDir.getFileSystem(conf);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    // These configs. are from hbase-*.xml<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    final long maxsize = conf.getLong(HConstants.HREGION_MAX_FILESIZE,<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        HConstants.DEFAULT_MAX_FILE_SIZE);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    // Invented config.  Add to hbase-*.xml if other than default compression.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    final String defaultCompressionStr = conf.get("hfile.compression",<a name="line.205"></a>
-<span class="sourceLineNo">206</span>        Compression.Algorithm.NONE.getName());<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    final Algorithm defaultCompression = HFileWriterImpl<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        .compressionByName(defaultCompressionStr);<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    final boolean compactionExclude = conf.getBoolean(<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        "hbase.mapreduce.hfileoutputformat.compaction.exclude", false);<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    final Set&lt;String&gt; allTableNames = Arrays.stream(writeTableNames.split(<a name="line.212"></a>
-<span class="sourceLineNo">213</span>            Bytes.toString(tableSeparator))).collect(Collectors.toSet());<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // create a map from column family to the compression algorithm<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    final Map&lt;byte[], Algorithm&gt; compressionMap = createFamilyCompressionMap(conf);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    final Map&lt;byte[], BloomType&gt; bloomTypeMap = createFamilyBloomTypeMap(conf);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    final Map&lt;byte[], Integer&gt; blockSizeMap = createFamilyBlockSizeMap(conf);<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>    String dataBlockEncodingStr = conf.get(DATABLOCK_ENCODING_OVERRIDE_CONF_KEY);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    final Map&lt;byte[], DataBlockEncoding&gt; datablockEncodingMap<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        = createFamilyDataBlockEncodingMap(conf);<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    final DataBlockEncoding overriddenEncoding;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    if (dataBlockEncodingStr != null) {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      overriddenEncoding = DataBlockEncoding.valueOf(dataBlockEncodingStr);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    } else {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      overriddenEncoding = null;<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>    return new RecordWriter&lt;ImmutableBytesWritable, V&gt;() {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      // Map of families to writers and how much has been output on the writer.<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      private final Map&lt;byte[], WriterLength&gt; writers =<a name="line.232"></a>
-<span class="sourceLineNo">233</span>              new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      private byte[] previousRow = HConstants.EMPTY_BYTE_ARRAY;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      private final long now = EnvironmentEdgeManager.currentTime();<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      private boolean rollRequested = false;<a name="line.236"></a>
-<span class="sourceLineNo">237</span><a name="line.237"></a>
-<span class="sourceLineNo">238</span>      @Override<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      public void write(ImmutableBytesWritable row, V cell)<a name="line.239"></a>
-<span class="sourceLineNo">240</span>          throws IOException {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        Cell kv = cell;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>        // null input == user explicitly wants to flush<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        if (row == null &amp;&amp; kv == null) {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>          rollWriters(null);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>          return;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>        }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>        byte[] rowKey = CellUtil.cloneRow(kv);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        int length = (PrivateCellUtil.estimatedSerializedSizeOf(kv)) - Bytes.SIZEOF_INT;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        byte[] family = CellUtil.cloneFamily(kv);<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        byte[] tableNameBytes = null;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        if (writeMultipleTables) {<a name="line.252"></a>
-<span class="sourceLineNo">253</span>          tableNameBytes = MultiTableHFileOutputFormat.getTableName(row.get());<a name="line.253"></a>
-<span class="sourceLineNo">254</span>          if (!allTableNames.contains(Bytes.toString(tableNameBytes))) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>            throw new IllegalArgumentException("TableName '" + Bytes.toString(tableNameBytes) +<a name="line.255"></a>
-<span class="sourceLineNo">256</span>                    "' not" + " expected");<a name="line.256"></a>
-<span class="sourceLineNo">257</span>          }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        } else {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>          tableNameBytes = Bytes.toBytes(writeTableNames);<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        }<a name="line.260"></a>
-<span class="sourceLineNo">261</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        Path tableRelPath = getTableRelativePath(tableNameBytes);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableNameBytes, family);<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>        WriterLength wl = this.writers.get(tableAndFamily);<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>        // If this is a new column family, verify that the directory exists<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        if (wl == null) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>          Path writerPath = null;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          if (writeMultipleTables) {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>            writerPath = new Path(outputDir,new Path(tableRelPath, Bytes<a name="line.271"></a>
-<span class="sourceLineNo">272</span>                    .toString(family)));<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>          else {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>            writerPath = new Path(outputDir, Bytes.toString(family));<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          }<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          fs.mkdirs(writerPath);<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          configureStoragePolicy(conf, fs, tableAndFamily, writerPath);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        }<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>        if (wl != null &amp;&amp; wl.written + length &gt;= maxsize) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          this.rollRequested = true;<a name="line.283"></a>
+<span class="sourceLineNo">030</span>import java.nio.charset.Charset;<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.List;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Map;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.Set;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.TreeMap;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.TreeSet;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.UUID;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.function.Function;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.stream.Collectors;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.commons.lang3.StringUtils;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.conf.Configuration;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.fs.FileSystem;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.fs.Path;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.Cell;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.HConstants;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.TableName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.client.ConnectionFactory;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.client.Put;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.Table;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.fs.HFileSystem;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.io.ImmutableBytesWritable;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.io.compress.Compression;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.io.hfile.CacheConfig;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.io.hfile.HFile;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.io.hfile.HFileContext;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.io.hfile.HFileWriterImpl;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.regionserver.BloomType;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.regionserver.HStore;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.regionserver.StoreFileWriter;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.util.MapReduceExtendedCell;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.io.NullWritable;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.io.SequenceFile;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.io.Text;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.mapreduce.Job;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.mapreduce.OutputCommitter;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.mapreduce.OutputFormat;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.mapreduce.RecordWriter;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.slf4j.Logger;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.slf4j.LoggerFactory;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>/**<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * Writes HFiles. Passed Cells must arrive in order.<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * Writes current time as the sequence id for the file. Sets the major compacted<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * attribute on created @{link {@link HFile}s. Calling write(null,null) will forcibly roll<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * all HFiles being written.<a name="line.101"></a>
+<span class="sourceLineNo">102</span> * &lt;p&gt;<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * Using this class as part of a MapReduce job is best done<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * using {@link #configureIncrementalLoad(Job, TableDescriptor, RegionLocator)}.<a name="line.104"></a>
+<span class="sourceLineNo">105</span> */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>@InterfaceAudience.Public<a name="line.106"></a>
+<span class="sourceLineNo">107</span>public class HFileOutputFormat2<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    extends FileOutputFormat&lt;ImmutableBytesWritable, Cell&gt; {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  private static final Logger LOG = LoggerFactory.getLogger(HFileOutputFormat2.class);<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  static class TableInfo {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    private TableDescriptor tableDesctiptor;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    private RegionLocator regionLocator;<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>    public TableInfo(TableDescriptor tableDesctiptor, RegionLocator regionLocator) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      this.tableDesctiptor = tableDesctiptor;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      this.regionLocator = regionLocator;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>    /**<a name="line.119"></a>
+<span class="sourceLineNo">120</span>     * The modification for the returned HTD doesn't affect the inner TD.<a name="line.120"></a>
+<span class="sourceLineNo">121</span>     * @return A clone of inner table descriptor<a name="line.121"></a>
+<span class="sourceLineNo">122</span>     * @deprecated use {@link #getTableDescriptor}<a name="line.122"></a>
+<span class="sourceLineNo">123</span>     */<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    @Deprecated<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    public HTableDescriptor getHTableDescriptor() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      return new HTableDescriptor(tableDesctiptor);<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>    public TableDescriptor getTableDescriptor() {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      return tableDesctiptor;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    }<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>    public RegionLocator getRegionLocator() {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      return regionLocator;<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><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  protected static final byte[] tableSeparator = Bytes.toBytes(";");<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span>  protected static byte[] combineTableNameSuffix(byte[] tableName, byte[] suffix) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    return Bytes.add(tableName, tableSeparator, suffix);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  // The following constants are private since these are used by<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  // HFileOutputFormat2 to internally transfer data between job setup and<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  // reducer run using conf.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  // These should not be changed by the client.<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  static final String COMPRESSION_FAMILIES_CONF_KEY =<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      "hbase.hfileoutputformat.families.compression";<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  static final String BLOOM_TYPE_FAMILIES_CONF_KEY =<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      "hbase.hfileoutputformat.families.bloomtype";<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  static final String BLOCK_SIZE_FAMILIES_CONF_KEY =<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      "hbase.mapreduce.hfileoutputformat.blocksize";<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  static final String DATABLOCK_ENCODING_FAMILIES_CONF_KEY =<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      "hbase.mapreduce.hfileoutputformat.families.datablock.encoding";<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  // This constant is public since the client can modify this when setting<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  // up their conf object and thus refer to this symbol.<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  // It is present for backwards compatibility reasons. Use it only to<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  // override the auto-detection of datablock encoding.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public static final String DATABLOCK_ENCODING_OVERRIDE_CONF_KEY =<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      "hbase.mapreduce.hfileoutputformat.datablock.encoding";<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>  /**<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * Keep locality while generating HFiles for bulkload. See HBASE-12596<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   */<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public static final String LOCALITY_SENSITIVE_CONF_KEY =<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      "hbase.bulkload.locality.sensitive.enabled";<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  private static final boolean DEFAULT_LOCALITY_SENSITIVE = true;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  static final String OUTPUT_TABLE_NAME_CONF_KEY =<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      "hbase.mapreduce.hfileoutputformat.table.name";<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  static final String MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY =<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          "hbase.mapreduce.use.multi.table.hfileoutputformat";<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public static final String STORAGE_POLICY_PROPERTY = HStore.BLOCK_STORAGE_POLICY_KEY;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public static final String STORAGE_POLICY_PROPERTY_CF_PREFIX = STORAGE_POLICY_PROPERTY + ".";<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  @Override<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public RecordWriter&lt;ImmutableBytesWritable, Cell&gt; getRecordWriter(<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      final TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return createRecordWriter(context, this.getOutputCommitter(context));<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  }<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>  protected static byte[] getTableNameSuffixedWithFamily(byte[] tableName, byte[] family) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return combineTableNameSuffix(tableName, family);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>  static &lt;V extends Cell&gt; RecordWriter&lt;ImmutableBytesWritable, V&gt;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      createRecordWriter(final TaskAttemptContext context, final OutputCommitter committer)<a name="line.189"></a>
+<span class="sourceLineNo">190</span>          throws IOException {<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>    // Get the path of the temporary output file<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    final Path outputDir = ((FileOutputCommitter)committer).getWorkPath();<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    final Configuration conf = context.getConfiguration();<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    final boolean writeMultipleTables = conf.getBoolean(MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY, false) ;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    final String writeTableNames = conf.get(OUTPUT_TABLE_NAME_CONF_KEY);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    if (writeTableNames==null || writeTableNames.isEmpty()) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      throw new IllegalArgumentException("Configuration parameter " + OUTPUT_TABLE_NAME_CONF_KEY<a name="line.198"></a>
+<span class="sourceLineNo">199</span>              + " cannot be empty");<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    final FileSystem fs = outputDir.getFileSystem(conf);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    // These configs. are from hbase-*.xml<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    final long maxsize = conf.getLong(HConstants.HREGION_MAX_FILESIZE,<a name="line.203"></a>
+<span class="sourceLineNo">204</span>        HConstants.DEFAULT_MAX_FILE_SIZE);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    // Invented config.  Add to hbase-*.xml if other than default compression.<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    final String defaultCompressionStr = conf.get("hfile.compression",<a name="line.206"></a>
+<span class="sourceLineNo">207</span>        Compression.Algorithm.NONE.getName());<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    final Algorithm defaultCompression = HFileWriterImpl<a name="line.208"></a>
+<span class="sourceLineNo">209</span>        .compressionByName(defaultCompressionStr);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    final boolean compactionExclude = conf.getBoolean(<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        "hbase.mapreduce.hfileoutputformat.compaction.exclude", false);<a name="line.211"></a>
+<span class="sourceLineNo">212</span><a name="line.212"></a>
+<span class="sourceLineNo">213</span>    final Set&lt;String&gt; allTableNames = Arrays.stream(writeTableNames.split(<a name="line.213"></a>
+<span class="sourceLineNo">214</span>            Bytes.toString(tableSeparator))).collect(Collectors.toSet());<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>    // create a map from column family to the compression algorithm<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    final Map&lt;byte[], Algorithm&gt; compressionMap = createFamilyCompressionMap(conf);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    final Map&lt;byte[], BloomType&gt; bloomTypeMap = createFamilyBloomTypeMap(conf);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    final Map&lt;byte[], Integer&gt; blockSizeMap = createFamilyBlockSizeMap(conf);<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>    String dataBlockEncodingStr = conf.get(DATABLOCK_ENCODING_OVERRIDE_CONF_KEY);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    final Map&lt;byte[], DataBlockEncoding&gt; datablockEncodingMap<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        = createFamilyDataBlockEncodingMap(conf);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    final DataBlockEncoding overriddenEncoding;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    if (dataBlockEncodingStr != null) {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      overriddenEncoding = DataBlockEncoding.valueOf(dataBlockEncodingStr);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    } else {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      overriddenEncoding = null;<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return new RecordWriter&lt;ImmutableBytesWritable, V&gt;() {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      // Map of families to writers and how much has been output on the writer.<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      private final Map&lt;byte[], WriterLength&gt; writers =<a name="line.233"></a>
+<span class="sourceLineNo">234</span>              new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      private byte[] previousRow = HConstants.EMPTY_BYTE_ARRAY;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      private final long now = EnvironmentEdgeManager.currentTime();<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      private boolean rollRequested = false;<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>      @Override<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      public void write(ImmutableBytesWritable row, V cell)<a name="line.240"></a>
+<span class="sourceLineNo">241</span>          throws IOException {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        Cell kv = cell;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>        // null input == user explicitly wants to flush<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        if (row == null &amp;&amp; kv == null) {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>          rollWriters(null);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>          return;<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>        byte[] rowKey = CellUtil.cloneRow(kv);<a name="line.249"></a>
+<span class="sourceLineNo">250</span>        int length = (PrivateCellUtil.estimatedSerializedSizeOf(kv)) - Bytes.SIZEOF_INT;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        byte[] family = CellUtil.cloneFamily(kv);<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        byte[] tableNameBytes = null;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        if (writeMultipleTables) {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>          tableNameBytes = MultiTableHFileOutputFormat.getTableName(row.get());<a name="line.254"></a>
+<span class="sourceLineNo">255</span>          tableNameBytes =<a name="line.255"></a>
+<span class="sourceLineNo">256</span>              TableName.valueOf(tableNameBytes).getNameWithNamespaceInclAsString()<a name="line.256"></a>
+<span class="sourceLineNo">257</span>              .getBytes(Charset.defaultCharset());<a name="line.257"></a>
+<span class="sourceLineNo">258</span>          if (!allTableNames.contains(Bytes.toString(tableNameBytes))) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>            throw new IllegalArgumentException("TableName '" + Bytes.toString(tableNameBytes) +<a name="line.259"></a>
+<span class="sourceLineNo">260</span>                    "' not" + " expected");<a name="line.260"></a>
+<span class="sourceLineNo">261</span>          }<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        } else {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>          tableNameBytes = Bytes.toBytes(writeTableNames);<a name="line.263"></a>
+<span class="sourceLineNo">264</span>        }<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        Path tableRelPath = getTableRelativePath(tableNameBytes);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableNameBytes, family);<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>        WriterLength wl = this.writers.get(tableAndFamily);<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>        // If this is a new column family, verify that the directory exists<a name="line.271"></a>
+<span class="sourceLineNo">272</span>        if (wl == null) {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>          Path writerPath = null;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>          if (writeMultipleTables) {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>            writerPath = new Path(outputDir,new Path(tableRelPath, Bytes<a name="line.275"></a>
+<span class="sourceLineNo">276</span>                    .toString(family)));<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>          else {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>            writerPath = new Path(outputDir, Bytes.toString(family));<a name="line.280"></a>
+<span class="sourceLineNo">281</span>          }<a name="line.281"></a>
+<span class="sourceLineNo">282</span>          fs.mkdirs(writerPath);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>          configureStoragePolicy(conf, fs, tableAndFamily, writerPath);<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>        // This can only happen once a row is finished though<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        if (rollRequested &amp;&amp; Bytes.compareTo(this.previousRow, rowKey) != 0) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>          rollWriters(wl);<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>        // create a new WAL writer, if necessary<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        if (wl == null || wl.writer == null) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          if (conf.getBoolean(LOCALITY_SENSITIVE_CONF_KEY, DEFAULT_LOCALITY_SENSITIVE)) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            HRegionLocation loc = null;<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>            if (tableName != null) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>              try (Connection connection = ConnectionFactory.createConnection(conf);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>                     RegionLocator locator =<a name="line.298"></a>
-<span class="sourceLineNo">299</span>                       connection.getRegionLocator(TableName.valueOf(tableName))) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>                loc = locator.getRegionLocation(rowKey);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>              } catch (Throwable e) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>                LOG.warn("There's something wrong when locating rowkey: " +<a name="line.302"></a>
-<span class="sourceLineNo">303</span>                  Bytes.toString(rowKey) + " for tablename: " + tableName, e);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>                loc = null;<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>            if (null == loc) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>              if (LOG.isTraceEnabled()) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>                LOG.trace("failed to get region location, so use default writer for rowkey: " +<a name="line.309"></a>
-<span class="sourceLineNo">310</span>                  Bytes.toString(rowKey));<a name="line.310"></a>
-<span class="sourceLineNo">311</span>              }<a name="line.311"></a>
-<span class="sourceLineNo">312</span>              wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>            } else {<a name="line.313"></a>
-<span class="sourceLineNo">314</span>              if (LOG.isDebugEnabled()) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>                LOG.debug("first rowkey: [" + Bytes.toString(rowKey) + "]");<a name="line.315"></a>
-<span class="sourceLineNo">316</span>              }<a name="line.316"></a>
-<span class="sourceLineNo">317</span>              InetSocketAddress initialIsa =<a name="line.317"></a>
-<span class="sourceLineNo">318</span>                  new InetSocketAddress(loc.getHostname(), loc.getPort());<a name="line.318"></a>
-<span class="sourceLineNo">319</span>              if (initialIsa.isUnresolved()) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>                if (LOG.isTraceEnabled()) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>                  LOG.trace("failed to resolve bind address: " + loc.getHostname() + ":"<a name="line.321"></a>
-<span class="sourceLineNo">322</span>                      + loc.getPort() + ", so use default writer");<a name="line.322"></a>
-<span class="sourceLineNo">323</span>                }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>                wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.324"></a>
-<span class="sourceLineNo">325</span>              } else {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>                if (LOG.isDebugEnabled()) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>                  LOG.debug("use favored nodes writer: " + initialIsa.getHostString());<a name="line.327"></a>
-<span class="sourceLineNo">328</span>                }<a name="line.328"></a>
-<span class="sourceLineNo">329</span>                wl = getNewWriter(tableNameBytes, family, conf, new InetSocketAddress[] { initialIsa<a name="line.329"></a>
-<span class="sourceLineNo">330</span>                });<a name="line.330"></a>
-<span class="sourceLineNo">331</span>              }<a name="line.331"></a>
-<span class="sourceLineNo">332</span>            }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>          } else {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>            wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>          }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>        }<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>        // we now have the proper WAL writer. full steam ahead<a name="line.338"></a>
-<span class="sourceLineNo">339</span>        PrivateCellUtil.updateLatestStamp(cell, this.now);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>        wl.writer.append(kv);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>        wl.written += length;<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>        // Copy the row so we know when a row transition.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        this.previousRow = rowKey;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      }<a name="line.345"></a>
+<span class="sourceLineNo">286</span>        if (wl != null &amp;&amp; wl.written + length &gt;= maxsize) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>          this.rollRequested = true;<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>        // This can only happen once a row is finished though<a name="line.290"></a>
+<span class="sourceLineNo">291</span>        if (rollRequested &amp;&amp; Bytes.compareTo(this.previousRow, rowKey) != 0) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>          rollWriters(wl);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        }<a name="line.293"></a>
+<span class="sourceLineNo">294</span><a name="line.294"></a>
+<span class="sourceLineNo">295</span>        // create a new WAL writer, if necessary<a name="line.295"></a>
+<span class="sourceLineNo">296</span>        if (wl == null || wl.writer == null) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>          if (conf.getBoolean(LOCALITY_SENSITIVE_CONF_KEY, DEFAULT_LOCALITY_SENSITIVE)) {<a name="line.297"></a>
+<span class="sourceLineNo">298</span>            HRegionLocation loc = null;<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>            if (tableName != null) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>              try (Connection connection = ConnectionFactory.createConnection(conf);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>                     RegionLocator locator =<a name="line.302"></a>
+<span class="sourceLineNo">303</span>                       connection.getRegionLocator(TableName.valueOf(tableName))) {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>                loc = locator.getRegionLocation(rowKey);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>              } catch (Throwable e) {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>                LOG.warn("There's something wrong when locating rowkey: " +<a name="line.306"></a>
+<span class="sourceLineNo">307</span>                  Bytes.toString(rowKey) + " for tablename: " + tableName, e);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>                loc = null;<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>            if (null == loc) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>              if (LOG.isTraceEnabled()) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>                LOG.trace("failed to get region location, so use default writer for rowkey: " +<a name="line.313"></a>
+<span class="sourceLineNo">314</span>                  Bytes.toString(rowKey));<a name="line.314"></a>
+<span class="sourceLineNo">315</span>              }<a name="line.315"></a>
+<span class="sourceLineNo">316</span>              wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.316"></a>
+<span class="sourceLineNo">317</span>            } else {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>              if (LOG.isDebugEnabled()) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>                LOG.debug("first rowkey: [" + Bytes.toString(rowKey) + "]");<a name="line.319"></a>
+<span class="sourceLineNo">320</span>              }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>              InetSocketAddress initialIsa =<a name="line.321"></a>
+<span class="sourceLineNo">322</span>                  new InetSocketAddress(loc.getHostname(), loc.getPort());<a name="line.322"></a>
+<span class="sourceLineNo">323</span>              if (initialIsa.isUnresolved()) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>                if (LOG.isTraceEnabled()) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>                  LOG.trace("failed to resolve bind address: " + loc.getHostname() + ":"<a name="line.325"></a>
+<span class="sourceLineNo">326</span>                      + loc.getPort() + ", so use default writer");<a name="line.326"></a>
+<span class="sourceLineNo">327</span>                }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>                wl = getNewWriter(tableNameBytes, family, conf, null);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>              } else {<a name="line.329"></a>
+<span class="sourceLineNo">330</span>                if (LOG.isDebugEnabled()) {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>                  LOG.debug("use favored nodes writer: " + initialIsa.getHostString());<a name="line.331"></a>
+<span class="sourceLineNo">332</span>                }<a name="line.332"></a>
+<span class="sourceLineNo">333</span>                wl = getNewWriter(tableNameBytes, family, conf, new InetSocketAddress[] { initialIsa<a name="line.333"></a>
+<span class="sourceLineNo">334</span>                });<a name="line.334"></a>
+<span class="sourceLineNo">335</span>              }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>            }<a name="line.336"></a>
+<span class="sourceLineNo">337</span>          } else {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>            wl = getNewWriter(tableNameBytes, family, conf, null);<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>        // we now have the proper WAL writer. full steam ahead<a name="line.342"></a>
+<span class="sourceLineNo">343</span>        PrivateCellUtil.updateLatestStamp(cell, this.now);<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        wl.writer.append(kv);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        wl.written += length;<a name="line.345"></a>
 <span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>      private Path getTableRelativePath(byte[] tableNameBytes) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        String[] tableNameParts = tableName.split(":");<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        Path tableRelPath = new Path(tableName.split(":")[0]);<a name="line.350"></a>
-<span class="sourceLineNo">351</span>        if (tableNameParts.length &gt; 1) {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>          tableRelPath = new Path(tableRelPath, tableName.split(":")[1]);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>        }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>        return tableRelPath;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      }<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      private void rollWriters(WriterLength writerLength) throws IOException {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>        if (writerLength != null) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>          closeWriter(writerLength);<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        } else {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>          for (WriterLength wl : this.writers.values()) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>            closeWriter(wl);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>          }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        }<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        this.rollRequested = false;<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>      private void closeWriter(WriterLength wl) throws IOException {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        if (wl.writer != null) {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>          LOG.info(<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              "Writer=" + wl.writer.getPath() + ((wl.written == 0)? "": ", wrote=" + wl.written));<a name="line.370"></a>
-<span class="sourceLineNo">371</span>          close(wl.writer);<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        }<a name="line.372"></a>
-<span class="sourceLineNo">373</span>        wl.writer = null;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>        wl.written = 0;<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      }<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
-<span class="sourceLineNo">377</span>      /*<a name="line.377"></a>
-<span class="sourceLineNo">378</span>       * Create a new StoreFile.Writer.<a name="line.378"></a>
-<span class="sourceLineNo">379</span>       * @param family<a name="line.379"></a>
-<span class="sourceLineNo">380</span>       * @return A WriterLength, containing a new StoreFile.Writer.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>       * @throws IOException<a name="line.381"></a>
-<span class="sourceLineNo">382</span>       */<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="BX_UNBOXING_IMMEDIATELY_REBOXED",<a name="line.383"></a>
-<span class="sourceLineNo">384</span>          justification="Not important")<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      private WriterLength getNewWriter(byte[] tableName, byte[] family, Configuration<a name="line.385"></a>
-<span class="sourceLineNo">386</span>              conf, InetSocketAddress[] favoredNodes) throws IOException {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableName, family);<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        Path familydir = new Path(outputDir, Bytes.toString(family));<a name="line.388"></a>
-<span class="sourceLineNo">389</span>        if (writeMultipleTables) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>          familydir = new Path(outputDir,<a name="line.390"></a>
-<span class="sourceLineNo">391</span>                  new Path(getTableRelativePath(tableName), Bytes.toString(family)));<a name="line.391"></a>
-<span class="sourceLineNo">392</span>        }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>        WriterLength wl = new WriterLength();<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        Algorithm compression = compressionMap.get(tableAndFamily);<a name="line.394"></a>
-<span class="sourceLineNo">395</span>        compression = compression == null ? defaultCompression : compression;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>        BloomType bloomType = bloomTypeMap.get(tableAndFamily);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>        bloomType = bloomType == null ? BloomType.NONE : bloomType;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        Integer blockSize = blockSizeMap.get(tableAndFamily);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        blockSize = blockSize == null ? HConstants.DEFAULT_BLOCKSIZE : blockSize;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        DataBlockEncoding encoding = overriddenEncoding;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        encoding = encoding == null ? datablockEncodingMap.get(tableAndFamily) : encoding;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        encoding = encoding == null ? DataBlockEncoding.NONE : encoding;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        Configuration tempConf = new Configuration(conf);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>        tempConf.setFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, 0.0f);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>        HFileContextBuilder contextBuilder = new HFileContextBuilder()<a name="line.405"></a>
-<span class="sourceLineNo">406</span>                                    .withCompression(compression)<a name="line.406"></a>
-<span class="sourceLineNo">407</span>                                    .withChecksumType(HStore.getChecksumType(conf))<a name="line.407"></a>
-<span class="sourceLineNo">408</span>                                    .withBytesPerCheckSum(HStore.getBytesPerChecksum(conf))<a name="line.408"></a>
-<span class="sourceLineNo">409</span>                                    .withBlockSize(blockSize);<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>        if (HFile.getFormatVersion(conf) &gt;= HFile.MIN_FORMAT_VERSION_WITH_TAGS) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          contextBuilder.withIncludesTags(true);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>        }<a name="line.413"></a>
+<span class="sourceLineNo">347</span>        // Copy the row so we know when a row transition.<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        this.previousRow = rowKey;<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>      private Path getTableRelativePath(byte[] tableNameBytes) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>        String tableName = Bytes.toString(tableNameBytes);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        String[] tableNameParts = tableName.split(":");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        Path tableRelPath = new Path(tableName.split(":")[0]);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>        if (tableNameParts.length &gt; 1) {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>          tableRelPath = new Path(tableRelPath, tableName.split(":")[1]);<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        }<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        return tableRelPath;<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      }<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      private void rollWriters(WriterLength writerLength) throws IOException {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        if (writerLength != null) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span>          closeWriter(writerLength);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        } else {<a name="line.363"></a>
+<span class="sourceLineNo">364</span>          for (WriterLength wl : this.writers.values()) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>            closeWriter(wl);<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>        this.rollRequested = false;<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>      private void closeWriter(WriterLength wl) throws IOException {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>        if (wl.writer != null) {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>          LOG.info(<a name="line.373"></a>
+<span class="sourceLineNo">374</span>              "Writer=" + wl.writer.getPath() + ((wl.written == 0)? "": ", wrote=" + wl.written));<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          close(wl.writer);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>        }<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        wl.writer = null;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        wl.written = 0;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      }<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span>      /*<a name="line.381"></a>
+<span class="sourceLineNo">382</span>       * Create a new StoreFile.Writer.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>       * @param family<a name="line.383"></a>
+<span class="sourceLineNo">384</span>       * @return A WriterLength, containing a new StoreFile.Writer.<a name="line.384"></a>
+<span class="sourceLineNo">385</span>       * @throws IOException<a name="line.385"></a>
+<span class="sourceLineNo">386</span>       */<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="BX_UNBOXING_IMMEDIATELY_REBOXED",<a name="line.387"></a>
+<span class="sourceLineNo">388</span>          justification="Not important")<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      private WriterLength getNewWriter(byte[] tableName, byte[] family, Configuration<a name="line.389"></a>
+<span class="sourceLineNo">390</span>              conf, InetSocketAddress[] favoredNodes) throws IOException {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        byte[] tableAndFamily = getTableNameSuffixedWithFamily(tableName, family);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        Path familydir = new Path(outputDir, Bytes.toString(family));<a name="line.392"></a>
+<span class="sourceLineNo">393</span>        if (writeMultipleTables) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>          familydir = new Path(outputDir,<a name="line.394"></a>
+<span class="sourceLineNo">395</span>                  new Path(getTableRelativePath(tableName), Bytes.toString(family)));<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>        WriterLength wl = new WriterLength();<a name="line.397"></a>
+<span class="sourceLineNo">398</span>        Algorithm compression = compressionMap.get(tableAndFamily);<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        compression = compression == null ? defaultCompression : compression;<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        BloomType bloomType = bloomTypeMap.get(tableAndFamily);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        bloomType = bloomType == null ? BloomType.NONE : bloomType;<a name="line.401"></a>
+<span class="sourceLineNo">402</span>        Integer blockSize = blockSizeMap.get(tableAndFamily);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>        blockSize = blockSize == null ? HConstants.DEFAULT_BLOCKSIZE : blockSize;<a name="line.403"></a>
+<span class="sourceLineNo">404</span>        DataBlockEncoding encoding = overriddenEncoding;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>        encoding = encoding == null ? datablockEncodingMap.get(tableAndFamily) : encoding;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>        encoding = encoding == null ? DataBlockEncoding.NONE : encoding;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>        Configuration tempConf = new Configuration(conf);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>        tempConf.setFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, 0.0f);<a name="line.408"></a>
+<span class="sourceLineNo">409</span>        HFileContextBuilder contextBuilder = new HFileContextBuilder()<a name="line.409"></a>
+<span class="sourceLineNo">410</span>                                    .withCompression(compression)<a name="line.410"></a>
+<span class="sourceLineNo">411</span>                                    .withChecksumType(HStore.getChecksumType(conf))<a name="line.411"></a>
+<span class="sourceLineNo">412</span>                                    .withBytesPerCheckSum(HStore.getBytesPerChecksum(conf))<a name="line.412"></a>
+<span class="sourceLineNo">413</span>                                    .withBlockSize(blockSize);<a name="line.413"></a>
 <span class="sourceLineNo">414</span><a name="line.414"></a>
-<span class="sourceLineNo">415</span>        contextBuilder.withDataBlockEncoding(encoding);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>        HFileContext hFileContext = contextBuilder.build();<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        if (null == favoredNodes) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>          wl.writer =<a name="line.418"></a>
-<span class="sourceLineNo">419</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), fs)<a name="line.419"></a>
-<span class="sourceLineNo">420</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.420"></a>
-<span class="sourceLineNo">421</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext).build();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        } else {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          wl.writer =<a name="line.423"></a>
-<span class="sourceLineNo">424</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), new HFileSystem(fs))<a name="line.424"></a>
-<span class="sourceLineNo">425</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.425"></a>
-<span class="sourceLineNo">426</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext)<a name="line.426"></a>
-<span class="sourceLineNo">427</span>                  .withFavoredNodes(favoredNodes).build();<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        }<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>        this.writers.put(tableAndFamily, wl);<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        return wl;<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      }<a name="line.432"></a>
+<span class="sourceLineNo">415</span>        if (HFile.getFormatVersion(conf) &gt;= HFile.MIN_FORMAT_VERSION_WITH_TAGS) {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>          contextBuilder.withIncludesTags(true);<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>        contextBuilder.withDataBlockEncoding(encoding);<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        HFileContext hFileContext = contextBuilder.build();<a name="line.420"></a>
+<span class="sourceLineNo">421</span>        if (null == favoredNodes) {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>          wl.writer =<a name="line.422"></a>
+<span class="sourceLineNo">423</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), fs)<a name="line.423"></a>
+<span class="sourceLineNo">424</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.424"></a>
+<span class="sourceLineNo">425</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext).build();<a name="line.425"></a>
+<span class="sourceLineNo">426</span>        } else {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>          wl.writer =<a name="line.427"></a>
+<span class="sourceLineNo">428</span>              new StoreFileWriter.Builder(conf, new CacheConfig(tempConf), new HFileSystem(fs))<a name="line.428"></a>
+<span class="sourceLineNo">429</span>                  .withOutputDir(familydir).withBloomType(bloomType)<a name="line.429"></a>
+<span class="sourceLineNo">430</span>                  .withComparator(CellComparator.getInstance()).withFileContext(hFileContext)<a name="line.430"></a>
+<span class="sourceLineNo">431</span>                  .withFavoredNodes(favoredNodes).build();<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>      private void close(final StoreFileWriter w) throws IOException {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        if (w != null) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          w.appendFileInfo(BULKLOAD_TIME_KEY,<a name="line.436"></a>
-<span class="sourceLineNo">437</span>              Bytes.toBytes(System.currentTimeMillis()));<a name="line.437"></a>
-<span class="sourceLineNo">438</span>          w.appendFileInfo(BULKLOAD_TASK_KEY,<a name="line.438"></a>
-<span class="sourceLineNo">439</span>              Bytes.toBytes(context.getTaskAttemptID().toString()));<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          w.appendFileInfo(MAJOR_COMPACTION_KEY,<a name="line.440"></a>
-<span class="sourceLineNo">441</span>              Bytes.toBytes(true));<a name="line.441"></a>
-<span class="sourceLineNo">442</span>          w.appendFileInfo(EXCLUDE_FROM_MINOR_COMPACTION_KEY,<a name="line.442"></a>
-<span class="sourceLineNo">443</span>              Bytes.toBytes(compactionExclude));<a name="line.443"></a>
-<span class="sourceLineNo">444</span>          w.appendTrackedTimestampsToMetadata();<a name="line.444"></a>
-<span class="sourceLineNo">445</span>          w.close();<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        }<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      }<a name="line.447"></a>
-<span class="sourceLineNo">448</span><a name="line.448"></a>
-<span class="sourceLineNo">449</span>      @Override<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      public void close(TaskAttemptContext c)<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      throws IOException, InterruptedException {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        for (WriterLength wl: this.writers.values()) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          close(wl.writer);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>        }<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    };<a name="line.456"></a>
-<span class="sourceLineNo">457</span>  }<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>   * Configure block storage policy for CF after the directory is created.<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   */<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  static void configureStoragePolicy(final Configuration conf, final FileSystem fs,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      byte[] tableAndFamily, Path cfPath) {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    if (null == conf || null == fs || null == tableAndFamily || null == cfPath) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      return;<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>    String policy =<a name="line.468"></a>
-<span class="sourceLineNo">469</span>        conf.get(STORAGE_POLICY_PROPERTY_CF_PREFIX + Bytes.toString(tableAndFamily),<a name="line.469"></a>
-<span class="sourceLineNo">470</span>          conf.get(STORAGE_POLICY_PROPERTY));<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    FSUtils.setStoragePolicy(fs, cfPath

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private Histogram remoteRpcCallsHisto

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html
index 4639252..f54d04b 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1356">PerformanceEvaluation.AsyncTest</a>
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1357">PerformanceEvaluation.AsyncTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a></pre>
 </li>
 </ul>
@@ -230,7 +230,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestB
 <ul class="blockListLast">
 <li class="blockList">
 <h4>connection</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.client.AsyncConnection <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html#line.1357">connection</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.client.AsyncConnection <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html#line.1358">connection</a></pre>
 </li>
 </ul>
 </li>
@@ -247,7 +247,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestB
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html#line.1359">AsyncTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html#line.1360">AsyncTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
           <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
           <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -266,7 +266,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestB
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html#line.1365">createConnection</a>()</pre>
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html#line.1366">createConnection</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#createConnection--">createConnection</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a></code></dd>
@@ -279,7 +279,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestB
 <ul class="blockListLast">
 <li class="blockList">
 <h4>closeConnection</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html#line.1376">closeConnection</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html#line.1377">closeConnection</a>()
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html
index a75ee34..ee238e0 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1664">PerformanceEvaluation.BufferedMutatorTest</a>
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1665">PerformanceEvaluation.BufferedMutatorTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></pre>
 </li>
 </ul>
@@ -253,7 +253,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockList">
 <li class="blockList">
 <h4>mutator</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.client.BufferedMutator <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1665">mutator</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.client.BufferedMutator <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1666">mutator</a></pre>
 </li>
 </ul>
 <a name="table">
@@ -262,7 +262,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>table</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.client.Table <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1666">table</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.client.Table <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1667">table</a></pre>
 </li>
 </ul>
 </li>
@@ -279,7 +279,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>BufferedMutatorTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1668">BufferedMutatorTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1669">BufferedMutatorTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                     <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                     <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -298,7 +298,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockList">
 <li class="blockList">
 <h4>onStartup</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1673">onStartup</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1674">onStartup</a>()
         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -314,7 +314,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>onTakedown</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1681">onTakedown</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1682">onTakedown</a>()
          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html
index 217e0da..ae27398 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html
@@ -132,7 +132,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1993">PerformanceEvaluation.CASTableTest</a>
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1994">PerformanceEvaluation.CASTableTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
 <div class="block">Base class for operations that are CAS-like; that read a value and then set it based off what
  they read. In this category is increment, append, checkAndPut, etc.
@@ -278,7 +278,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>qualifier</h4>
-<pre>private final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.1994">qualifier</a></pre>
+<pre>private final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.1995">qualifier</a></pre>
 </li>
 </ul>
 </li>
@@ -295,7 +295,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CASTableTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.1995">CASTableTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.1996">CASTableTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
              <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
              <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -314,7 +314,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifier</h4>
-<pre>byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.2000">getQualifier</a>()</pre>
+<pre>byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.2001">getQualifier</a>()</pre>
 </li>
 </ul>
 <a name="getStartRow--">
@@ -323,7 +323,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartRow</h4>
-<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.2005">getStartRow</a>()</pre>
+<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.2006">getStartRow</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#getStartRow--">getStartRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a></code></dd>
@@ -336,7 +336,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getLastRow</h4>
-<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.2010">getLastRow</a>()</pre>
+<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.2011">getLastRow</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#getLastRow--">getLastRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html
index 9a02d7c..13831b3 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html
@@ -133,7 +133,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2092">PerformanceEvaluation.CheckAndDeleteTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2093">PerformanceEvaluation.CheckAndDeleteTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></pre>
 </li>
 </ul>
@@ -261,7 +261,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CheckAndDeleteTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html#line.2093">CheckAndDeleteTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html#line.2094">CheckAndDeleteTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                    <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                    <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -280,7 +280,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html#line.2098">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html#line.2099">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html
index b378829..a454926 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html
@@ -133,7 +133,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2054">PerformanceEvaluation.CheckAndMutateTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2055">PerformanceEvaluation.CheckAndMutateTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></pre>
 </li>
 </ul>
@@ -261,7 +261,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CheckAndMutateTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html#line.2055">CheckAndMutateTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html#line.2056">CheckAndMutateTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                    <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                    <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -280,7 +280,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html#line.2060">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html#line.2061">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html
index 4c7b88a..dc45723 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html
@@ -133,7 +133,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2074">PerformanceEvaluation.CheckAndPutTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2075">PerformanceEvaluation.CheckAndPutTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></pre>
 </li>
 </ul>
@@ -261,7 +261,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CheckAndPutTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html#line.2075">CheckAndPutTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html#line.2076">CheckAndPutTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                 <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                 <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -280,7 +280,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html#line.2080">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html#line.2081">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html
index ad58a4d..4025751 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.602">PerformanceEvaluation.CmdDescriptor</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.603">PerformanceEvaluation.CmdDescriptor</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Describes a command.</div>
 </li>
@@ -220,7 +220,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>cmdClass</h4>
-<pre>private&nbsp;<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.603">cmdClass</a></pre>
+<pre>private&nbsp;<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.604">cmdClass</a></pre>
 </li>
 </ul>
 <a name="name">
@@ -229,7 +229,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>name</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.604">name</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.605">name</a></pre>
 </li>
 </ul>
 <a name="description">
@@ -238,7 +238,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>description</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.605">description</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.606">description</a></pre>
 </li>
 </ul>
 </li>
@@ -255,7 +255,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CmdDescriptor</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.607">CmdDescriptor</a>(<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt;&nbsp;cmdClass,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.608">CmdDescriptor</a>(<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt;&nbsp;cmdClass,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;description)</pre>
 </li>
@@ -274,7 +274,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getCmdClass</h4>
-<pre>public&nbsp;<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.613">getCmdClass</a>()</pre>
+<pre>public&nbsp;<a href="https://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/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.614">getCmdClass</a>()</pre>
 </li>
 </ul>
 <a name="getName--">
@@ -283,7 +283,7 @@ extends <a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.617">getName</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.618">getName</a>()</pre>
 </li>
 </ul>
 <a name="getDescription--">
@@ -292,7 +292,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getDescription</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.621">getDescription</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.622">getDescription</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html
index ee36c90..e9d0701 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>protected static enum <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.211">PerformanceEvaluation.Counter</a>
+<pre>protected static enum <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.212">PerformanceEvaluation.Counter</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a>&gt;</pre>
 <div class="block">Enum for map metrics.  Keep it out here rather than inside in the Map
  inner-class so we can find associated properties.</div>
@@ -216,7 +216,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>ELAPSED_TIME</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.213">ELAPSED_TIME</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.214">ELAPSED_TIME</a></pre>
 <div class="block">elapsed time</div>
 </li>
 </ul>
@@ -226,7 +226,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ROWS</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.215">ROWS</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.216">ROWS</a></pre>
 <div class="block">number of rows</div>
 </li>
 </ul>
@@ -244,7 +244,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/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.211">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.212">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:
@@ -264,7 +264,7 @@ for (PerformanceEvaluation.Counter c : PerformanceEvaluation.Counter.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.211">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.212">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html
index 59f08e5..926e717 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.266">PerformanceEvaluation.EvaluationMapTask</a>
+<pre>public static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.267">PerformanceEvaluation.EvaluationMapTask</a>
 extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.Text,org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.LongWritable&gt;</pre>
 <div class="block">MapReduce job that runs a performance evaluation client in each map task.</div>
 </li>
@@ -252,7 +252,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>CMD_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.270">CMD_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.271">CMD_KEY</a></pre>
 <div class="block">configuration parameter name that contains the command</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -266,7 +266,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>PE_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.272">PE_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.273">PE_KEY</a></pre>
 <div class="block">configuration parameter name that contains the PE impl</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -280,7 +280,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockListLast">
 <li class="blockList">
 <h4>cmd</h4>
-<pre>private&nbsp;<a href="https://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/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.274">cmd</a></pre>
+<pre>private&nbsp;<a href="https://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/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.275">cmd</a></pre>
 </li>
 </ul>
 </li>
@@ -297,7 +297,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockListLast">
 <li class="blockList">
 <h4>EvaluationMapTask</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.266">EvaluationMapTask</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.267">EvaluationMapTask</a>()</pre>
 </li>
 </ul>
 </li>
@@ -314,7 +314,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>setup</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.277">setup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.278">setup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -332,7 +332,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>forName</h4>
-<pre>private&nbsp;&lt;Type&gt;&nbsp;<a href="https://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 Type&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.291">forName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
+<pre>private&nbsp;&lt;Type&gt;&nbsp;<a href="https://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 Type&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.292">forName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;className,
                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;Type&gt;&nbsp;type)</pre>
 </li>
 </ul>
@@ -342,7 +342,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockListLast">
 <li class="blockList">
 <h4>map</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.300">map</a>(org.apache.hadoop.io.LongWritable&nbsp;key,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.301">map</a>(org.apache.hadoop.io.LongWritable&nbsp;key,
                    org.apache.hadoop.io.Text&nbsp;value,
                    org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html
index 600d0f9..6009b41 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2178">PerformanceEvaluation.FilteredScanTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2179">PerformanceEvaluation.FilteredScanTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
 </li>
 </ul>
@@ -264,7 +264,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>protected static final&nbsp;org.slf4j.Logger <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.2179">LOG</a></pre>
+<pre>protected static final&nbsp;org.slf4j.Logger <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.2180">LOG</a></pre>
 </li>
 </ul>
 </li>
@@ -281,7 +281,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FilteredScanTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.2181">FilteredScanTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.2182">FilteredScanTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                  <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                  <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -300,7 +300,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.2186">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.2187">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -316,7 +316,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>constructScan</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.client.Scan&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.2203">constructScan</a>(byte[]&nbsp;valuePrefix)
+<pre>protected&nbsp;org.apache.hadoop.hbase.client.Scan&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.2204">constructScan</a>(byte[]&nbsp;valuePrefix)
                                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html
index 9f9abf3..76b6e85 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html
@@ -133,7 +133,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2015">PerformanceEvaluation.IncrementTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2016">PerformanceEvaluation.IncrementTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></pre>
 </li>
 </ul>
@@ -261,7 +261,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>IncrementTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html#line.2016">IncrementTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html#line.2017">IncrementTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
               <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
               <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -280,7 +280,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html#line.2021">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html#line.2022">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html
index 0ed43d3..238b27c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1838">PerformanceEvaluation.RandomReadTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1839">PerformanceEvaluation.RandomReadTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
 </li>
 </ul>
@@ -276,7 +276,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>consistency</h4>
-<pre>private final&nbsp;org.apache.hadoop.hbase.client.Consistency <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1839">consistency</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.hbase.client.Consistency <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1840">consistency</a></pre>
 </li>
 </ul>
 <a name="gets">
@@ -285,7 +285,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>gets</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.hadoop.hbase.client.Get&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1840">gets</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.hadoop.hbase.client.Get&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1841">gets</a></pre>
 </li>
 </ul>
 <a name="rd">
@@ -294,7 +294,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rd</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1841">rd</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1842">rd</a></pre>
 </li>
 </ul>
 </li>
@@ -311,7 +311,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RandomReadTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1843">RandomReadTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1844">RandomReadTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -330,7 +330,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1853">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1854">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -348,7 +348,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>getReportingPeriod</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1887">getReportingPeriod</a>()</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1888">getReportingPeriod</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#getReportingPeriod--">getReportingPeriod</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a></code></dd>
@@ -361,7 +361,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testTakedown</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1893">testTakedown</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1894">testTakedown</a>()
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html
index 422739e..fac8fef 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html
@@ -133,7 +133,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1827">PerformanceEvaluation.RandomScanWithRange10000Test</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1828">PerformanceEvaluation.RandomScanWithRange10000Test</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></pre>
 </li>
 </ul>
@@ -261,7 +261,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RandomScanWithRange10000Test</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html#line.1828">RandomScanWithRange10000Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html#line.1829">RandomScanWithRange10000Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                              <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                              <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -280,7 +280,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getStartAndStopRow</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html#line.1833">getStartAndStopRow</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html#line.1834">getStartAndStopRow</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#getStartAndStopRow--">getStartAndStopRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html
index 85f1d5f..08a9543 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html
@@ -133,7 +133,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1816">PerformanceEvaluation.RandomScanWithRange1000Test</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1817">PerformanceEvaluation.RandomScanWithRange1000Test</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></pre>
 </li>
 </ul>
@@ -261,7 +261,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RandomScanWithRange1000Test</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html#line.1817">RandomScanWithRange1000Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html#line.1818">RandomScanWithRange1000Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                             <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                             <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -280,7 +280,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getStartAndStopRow</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html#line.1822">getStartAndStopRow</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html#line.1823">getStartAndStopRow</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#getStartAndStopRow--">getStartAndStopRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html
index 7c91a65..9a5eed7 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html
@@ -133,7 +133,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1805">PerformanceEvaluation.RandomScanWithRange100Test</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1806">PerformanceEvaluation.RandomScanWithRange100Test</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></pre>
 </li>
 </ul>
@@ -261,7 +261,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RandomScanWithRange100Test</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html#line.1806">RandomScanWithRange100Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html#line.1807">RandomScanWithRange100Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                            <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                            <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -280,7 +280,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getStartAndStopRow</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html#line.1811">getStartAndStopRow</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html#line.1812">getStartAndStopRow</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#getStartAndStopRow--">getStartAndStopRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html
index 204decc..ead77bf 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html
@@ -133,7 +133,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1794">PerformanceEvaluation.RandomScanWithRange10Test</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1795">PerformanceEvaluation.RandomScanWithRange10Test</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></pre>
 </li>
 </ul>
@@ -261,7 +261,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RandomScanWithRange10Test</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html#line.1795">RandomScanWithRange10Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html#line.1796">RandomScanWithRange10Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                           <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                           <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -280,7 +280,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getStartAndStopRow</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html#line.1800">getStartAndStopRow</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html#line.1801">getStartAndStopRow</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#getStartAndStopRow--">getStartAndStopRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html
index ef04864..ff34d58 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html
@@ -132,7 +132,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1734">PerformanceEvaluation.RandomScanWithRangeTest</a>
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1735">PerformanceEvaluation.RandomScanWithRangeTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
 </li>
 </ul>
@@ -265,7 +265,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RandomScanWithRangeTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1735">RandomScanWithRangeTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1736">RandomScanWithRangeTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                         <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                         <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -284,7 +284,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1740">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1741">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -300,7 +300,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartAndStopRow</h4>
-<pre>protected abstract&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1779">getStartAndStopRow</a>()</pre>
+<pre>protected abstract&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1780">getStartAndStopRow</a>()</pre>
 </li>
 </ul>
 <a name="generateStartAndStopRows-int-">
@@ -309,7 +309,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>generateStartAndStopRows</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1781">generateStartAndStopRows</a>(int&nbsp;maxRange)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1782">generateStartAndStopRows</a>(int&nbsp;maxRange)</pre>
 </li>
 </ul>
 <a name="getReportingPeriod--">
@@ -318,7 +318,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getReportingPeriod</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1788">getReportingPeriod</a>()</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1789">getReportingPeriod</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#getReportingPeriod--">getReportingPeriod</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html
index fba7522..60aac4a 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1687">PerformanceEvaluation.RandomSeekScanTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1688">PerformanceEvaluation.RandomSeekScanTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
 </li>
 </ul>
@@ -253,7 +253,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RandomSeekScanTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html#line.1688">RandomSeekScanTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html#line.1689">RandomSeekScanTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                    <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                    <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -272,7 +272,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html#line.1693">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html#line.1694">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -288,7 +288,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getReportingPeriod</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html#line.1727">getReportingPeriod</a>()</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html#line.1728">getReportingPeriod</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#getReportingPeriod--">getReportingPeriod</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html
index 14667f1..4caf7a4 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1902">PerformanceEvaluation.RandomWriteTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1903">PerformanceEvaluation.RandomWriteTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.BufferedMutatorTest</a></pre>
 </li>
 </ul>
@@ -249,7 +249,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Buffe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RandomWriteTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html#line.1903">RandomWriteTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html#line.1904">RandomWriteTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                 <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                 <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -268,7 +268,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Buffe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html#line.1908">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html#line.1909">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html
index b615329..c218d51 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>protected static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.218">PerformanceEvaluation.RunResult</a>
+<pre>protected static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.219">PerformanceEvaluation.RunResult</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RunResult</a>&gt;</pre>
 </li>
@@ -215,7 +215,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>duration</h4>
-<pre>public final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.224">duration</a></pre>
+<pre>public final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.225">duration</a></pre>
 </li>
 </ul>
 <a name="hist">
@@ -224,7 +224,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockListLast">
 <li class="blockList">
 <h4>hist</h4>
-<pre>public final&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.225">hist</a></pre>
+<pre>public final&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.226">hist</a></pre>
 </li>
 </ul>
 </li>
@@ -241,7 +241,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RunResult</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.219">RunResult</a>(long&nbsp;duration,
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.220">RunResult</a>(long&nbsp;duration,
                  com.codahale.metrics.Histogram&nbsp;hist)</pre>
 </li>
 </ul>
@@ -259,7 +259,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.228">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.229">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -272,7 +272,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockListLast">
 <li class="blockList">
 <h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.232">compareTo</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RunResult</a>&nbsp;o)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.233">compareTo</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RunResult</a>&nbsp;o)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RunResult</a>&gt;</code></dd>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html b/devapidocs/src-html/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html
index a7a3aed..4f83768 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html
@@ -113,76 +113,94 @@
 <span class="sourceLineNo">105</span>          response)) {<a name="line.105"></a>
 <span class="sourceLineNo">106</span>        return;<a name="line.106"></a>
 <span class="sourceLineNo">107</span>      }<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>      PrintWriter out = ServletUtil.initHTML(response, "Log Level");<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      String logName = ServletUtil.getParameter(request, "log");<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      String level = ServletUtil.getParameter(request, "level");<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>      if (logName != null) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>        out.println("&lt;br /&gt;&lt;hr /&gt;&lt;h3&gt;Results&lt;/h3&gt;");<a name="line.114"></a>
-<span class="sourceLineNo">115</span>        out.println(MARKER<a name="line.115"></a>
-<span class="sourceLineNo">116</span>            + "Submitted Log Name: &lt;b&gt;" + logName + "&lt;/b&gt;&lt;br /&gt;");<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>        Logger log = LoggerFactory.getLogger(logName);<a name="line.118"></a>
+<span class="sourceLineNo">108</span>      response.setContentType("text/html");<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      String requestedURL = "header.jsp?pageTitle=Log Level";<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      request.getRequestDispatcher(requestedURL).include(request, response);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      PrintWriter out = response.getWriter();<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      out.println(FORMS);<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>      String logName = ServletUtil.getParameter(request, "log");<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      String level = ServletUtil.getParameter(request, "level");<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>      if (logName != null) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>        out.println("&lt;p&gt;Results:&lt;/p&gt;");<a name="line.118"></a>
 <span class="sourceLineNo">119</span>        out.println(MARKER<a name="line.119"></a>
-<span class="sourceLineNo">120</span>            + "Log Class: &lt;b&gt;" + log.getClass().getName() +"&lt;/b&gt;&lt;br /&gt;");<a name="line.120"></a>
-<span class="sourceLineNo">121</span>        if (level != null) {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>          out.println(MARKER + "Submitted Level: &lt;b&gt;" + level + "&lt;/b&gt;&lt;br /&gt;");<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>        if (log instanceof Log4JLogger) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>          process(((Log4JLogger)log).getLogger(), level, out);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        } else if (log instanceof Jdk14Logger) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>          process(((Jdk14Logger)log).getLogger(), level, out);<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        } else if (log instanceof Log4jLoggerAdapter) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>          process(LogManager.getLogger(logName), level, out);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        } else {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          out.println("Sorry, " + log.getClass() + " not supported.&lt;br /&gt;");<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      }<a name="line.134"></a>
-<span class="sourceLineNo">135</span><a name="line.135"></a>
-<span class="sourceLineNo">136</span>      out.println(FORMS);<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      out.println(ServletUtil.HTML_TAIL);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>    static final String FORMS = "\n&lt;br /&gt;&lt;hr /&gt;&lt;h3&gt;Get / Set&lt;/h3&gt;"<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        + "\n&lt;form&gt;Log: &lt;input type='text' size='50' name='log' /&gt; "<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        + "&lt;input type='submit' value='Get Log Level' /&gt;"<a name="line.142"></a>
-<span class="sourceLineNo">143</span>        + "&lt;/form&gt;"<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        + "\n&lt;form&gt;Log: &lt;input type='text' size='50' name='log' /&gt; "<a name="line.144"></a>
-<span class="sourceLineNo">145</span>        + "Level: &lt;input type='text' name='level' /&gt; "<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        + "&lt;input type='submit' value='Set Log Level' /&gt;"<a name="line.146"></a>
-<span class="sourceLineNo">147</span>        + "&lt;/form&gt;";<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>    private static void process(org.apache.log4j.Logger log, String level,<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        PrintWriter out) throws IOException {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      if (level != null) {<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        if (!level.equals(org.apache.log4j.Level.toLevel(level).toString())) {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          out.println(MARKER + "Bad level : &lt;b&gt;" + level + "&lt;/b&gt;&lt;br /&gt;");<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        } else {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>          log.setLevel(org.apache.log4j.Level.toLevel(level));<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          out.println(MARKER + "Setting Level to " + level + " ...&lt;br /&gt;");<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      out.println(MARKER<a name="line.159"></a>
-<span class="sourceLineNo">160</span>          + "Effective level: &lt;b&gt;" + log.getEffectiveLevel() + "&lt;/b&gt;&lt;br /&gt;");<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>    private static void process(java.util.logging.Logger log, String level,<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        PrintWriter out) throws IOException {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      if (level != null) {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        log.setLevel(java.util.logging.Level.parse(level));<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        out.println(MARKER + "Setting Level to " + level + " ...&lt;br /&gt;");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      }<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>      java.util.logging.Level lev;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      for(; (lev = log.getLevel()) == null; log = log.getParent());<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      out.println(MARKER + "Effective level: &lt;b&gt;" + lev + "&lt;/b&gt;&lt;br /&gt;");<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    }<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  }<a name="line.174"></a>
-<span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span>  private LogLevel() {}<a name="line.176"></a>
-<span class="sourceLineNo">177</span>}<a name="line.177"></a>
+<span class="sourceLineNo">120</span>            + "Submitted Log Name: &lt;b&gt;" + logName + "&lt;/b&gt;&lt;br /&gt;");<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>        Logger log = LoggerFactory.getLogger(logName);<a name="line.122"></a>
+<span class="sourceLineNo">123</span>        out.println(MARKER<a name="line.123"></a>
+<span class="sourceLineNo">124</span>            + "Log Class: &lt;b&gt;" + log.getClass().getName() +"&lt;/b&gt;&lt;br /&gt;");<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        if (level != null) {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>          out.println(MARKER + "Submitted Level: &lt;b&gt;" + level + "&lt;/b&gt;&lt;br /&gt;");<a name="line.126"></a>
+<span class="sourceLineNo">127</span>        }<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>        if (log instanceof Log4JLogger) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>          process(((Log4JLogger)log).getLogger(), level, out);<a name="line.130"></a>
+<span class="sourceLineNo">131</span>        } else if (log instanceof Jdk14Logger) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>          process(((Jdk14Logger)log).getLogger(), level, out);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>        } else if (log instanceof Log4jLoggerAdapter) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>          process(LogManager.getLogger(logName), level, out);<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        } else {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>          out.println("Sorry, " + log.getClass() + " not supported.&lt;br /&gt;");<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>      out.println("&lt;/div&gt;");<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      request.getRequestDispatcher("footer.jsp").include(request, response);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      out.close();<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>    static final String FORMS = "&lt;div class='container-fluid content'&gt;\n"<a name="line.144"></a>
+<span class="sourceLineNo">145</span>        + "&lt;div class='row inner_header'&gt;\n" + "&lt;div class='page-header'&gt;\n"<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        + "&lt;h1&gt;Get/Set Log Level&lt;/h1&gt;\n" + "&lt;/div&gt;\n" + "&lt;/div&gt;\n" + "Actions:" + "&lt;p&gt;"<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        + "&lt;center&gt;\n" + "&lt;table class='table' style='border: 0;' width='95%' &gt;\n" + "&lt;tr&gt;\n"<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        + "&lt;form&gt;\n" + "&lt;td class='centered'&gt;\n"<a name="line.148"></a>
+<span class="sourceLineNo">149</span>        + "&lt;input style='font-size: 12pt; width: 10em' type='submit' value='Get Log Level'"<a name="line.149"></a>
+<span class="sourceLineNo">150</span>        + " class='btn' /&gt;\n" + "&lt;/td&gt;\n" + "&lt;td style='text-align: center;'&gt;\n"<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        + "&lt;input type='text' name='log' size='50' required='required'"<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        + " placeholder='Log Name (required)' /&gt;\n" + "&lt;/td&gt;\n" + "&lt;td width=\"40%\"&gt;"<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        + "Get the current log level for the specified log name." + "&lt;/td&gt;\n" + "&lt;/form&gt;\n"<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        + "&lt;/tr&gt;\n" + "&lt;tr&gt;\n" + "&lt;form&gt;\n" + "&lt;td class='centered'&gt;\n"<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        + "&lt;input style='font-size: 12pt; width: 10em' type='submit'"<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        + " value='Set Log Level' class='btn' /&gt;\n" + "&lt;/td&gt;\n"<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        + "&lt;td style='text-align: center;'&gt;\n"<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        + "&lt;input type='text' name='log' size='50' required='required'"<a name="line.158"></a>
+<span class="sourceLineNo">159</span>        + " placeholder='Log Name (required)' /&gt;\n"<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        + "&lt;input type='text' name='level' size='50' required='required'"<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        + " placeholder='Log Level (required)' /&gt;\n" + "&lt;/td&gt;\n" + "&lt;td width=\"40%\" style=\"\"&gt;"<a name="line.161"></a>
+<span class="sourceLineNo">162</span>        + "Set the specified log level for the specified log name." + "&lt;/td&gt;\n" + "&lt;/form&gt;\n"<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        + "&lt;/tr&gt;\n" + "&lt;/table&gt;\n" + "&lt;/center&gt;\n" + "&lt;/p&gt;\n" + "&lt;hr/&gt;\n";<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    private static void process(org.apache.log4j.Logger log, String level,<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        PrintWriter out) throws IOException {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      if (level != null) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>        if (!level.equals(org.apache.log4j.Level.toLevel(level).toString())) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>          out.println(MARKER + "&lt;div class='text-danger'&gt;" + "Bad level : &lt;strong&gt;" + level<a name="line.169"></a>
+<span class="sourceLineNo">170</span>              + "&lt;/strong&gt;&lt;br /&gt;" + "&lt;/div&gt;");<a name="line.170"></a>
+<span class="sourceLineNo">171</span>        } else {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>          log.setLevel(org.apache.log4j.Level.toLevel(level));<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          out.println(MARKER + "&lt;div class='text-success'&gt;" + "Setting Level to &lt;strong&gt;" + level<a name="line.173"></a>
+<span class="sourceLineNo">174</span>              + "&lt;/strong&gt; ...&lt;br /&gt;" + "&lt;/div&gt;");<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        }<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      out.println(MARKER<a name="line.177"></a>
+<span class="sourceLineNo">178</span>          + "Effective level: &lt;b&gt;" + log.getEffectiveLevel() + "&lt;/b&gt;&lt;br /&gt;");<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>    private static void process(java.util.logging.Logger log, String level,<a name="line.181"></a>
+<span class="sourceLineNo">182</span>        PrintWriter out) throws IOException {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      if (level != null) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        log.setLevel(java.util.logging.Level.parse(level));<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        out.println(MARKER + "Setting Level to " + level + " ...&lt;br /&gt;");<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>      java.util.logging.Level lev;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      for(; (lev = log.getLevel()) == null; log = log.getParent());<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      out.println(MARKER + "Effective level: &lt;b&gt;" + lev + "&lt;/b&gt;&lt;br /&gt;");<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  private LogLevel() {}<a name="line.194"></a>
+<span class="sourceLineNo">195</span>}<a name="line.195"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/http/log/LogLevel.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/http/log/LogLevel.html b/devapidocs/src-html/org/apache/hadoop/hbase/http/log/LogLevel.html
index a7a3aed..4f83768 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/http/log/LogLevel.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/http/log/LogLevel.html
@@ -113,76 +113,94 @@
 <span class="sourceLineNo">105</span>          response)) {<a name="line.105"></a>
 <span class="sourceLineNo">106</span>        return;<a name="line.106"></a>
 <span class="sourceLineNo">107</span>      }<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>      PrintWriter out = ServletUtil.initHTML(response, "Log Level");<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      String logName = ServletUtil.getParameter(request, "log");<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      String level = ServletUtil.getParameter(request, "level");<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>      if (logName != null) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>        out.println("&lt;br /&gt;&lt;hr /&gt;&lt;h3&gt;Results&lt;/h3&gt;");<a name="line.114"></a>
-<span class="sourceLineNo">115</span>        out.println(MARKER<a name="line.115"></a>
-<span class="sourceLineNo">116</span>            + "Submitted Log Name: &lt;b&gt;" + logName + "&lt;/b&gt;&lt;br /&gt;");<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>        Logger log = LoggerFactory.getLogger(logName);<a name="line.118"></a>
+<span class="sourceLineNo">108</span>      response.setContentType("text/html");<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      String requestedURL = "header.jsp?pageTitle=Log Level";<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      request.getRequestDispatcher(requestedURL).include(request, response);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      PrintWriter out = response.getWriter();<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      out.println(FORMS);<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>      String logName = ServletUtil.getParameter(request, "log");<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      String level = ServletUtil.getParameter(request, "level");<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>      if (logName != null) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>        out.println("&lt;p&gt;Results:&lt;/p&gt;");<a name="line.118"></a>
 <span class="sourceLineNo">119</span>        out.println(MARKER<a name="line.119"></a>
-<span class="sourceLineNo">120</span>            + "Log Class: &lt;b&gt;" + log.getClass().getName() +"&lt;/b&gt;&lt;br /&gt;");<a name="line.120"></a>
-<span class="sourceLineNo">121</span>        if (level != null) {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>          out.println(MARKER + "Submitted Level: &lt;b&gt;" + level + "&lt;/b&gt;&lt;br /&gt;");<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>        if (log instanceof Log4JLogger) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>          process(((Log4JLogger)log).getLogger(), level, out);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        } else if (log instanceof Jdk14Logger) {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>          process(((Jdk14Logger)log).getLogger(), level, out);<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        } else if (log instanceof Log4jLoggerAdapter) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>          process(LogManager.getLogger(logName), level, out);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        } else {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          out.println("Sorry, " + log.getClass() + " not supported.&lt;br /&gt;");<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      }<a name="line.134"></a>
-<span class="sourceLineNo">135</span><a name="line.135"></a>
-<span class="sourceLineNo">136</span>      out.println(FORMS);<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      out.println(ServletUtil.HTML_TAIL);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>    static final String FORMS = "\n&lt;br /&gt;&lt;hr /&gt;&lt;h3&gt;Get / Set&lt;/h3&gt;"<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        + "\n&lt;form&gt;Log: &lt;input type='text' size='50' name='log' /&gt; "<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        + "&lt;input type='submit' value='Get Log Level' /&gt;"<a name="line.142"></a>
-<span class="sourceLineNo">143</span>        + "&lt;/form&gt;"<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        + "\n&lt;form&gt;Log: &lt;input type='text' size='50' name='log' /&gt; "<a name="line.144"></a>
-<span class="sourceLineNo">145</span>        + "Level: &lt;input type='text' name='level' /&gt; "<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        + "&lt;input type='submit' value='Set Log Level' /&gt;"<a name="line.146"></a>
-<span class="sourceLineNo">147</span>        + "&lt;/form&gt;";<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>    private static void process(org.apache.log4j.Logger log, String level,<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        PrintWriter out) throws IOException {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      if (level != null) {<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        if (!level.equals(org.apache.log4j.Level.toLevel(level).toString())) {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          out.println(MARKER + "Bad level : &lt;b&gt;" + level + "&lt;/b&gt;&lt;br /&gt;");<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        } else {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>          log.setLevel(org.apache.log4j.Level.toLevel(level));<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          out.println(MARKER + "Setting Level to " + level + " ...&lt;br /&gt;");<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      out.println(MARKER<a name="line.159"></a>
-<span class="sourceLineNo">160</span>          + "Effective level: &lt;b&gt;" + log.getEffectiveLevel() + "&lt;/b&gt;&lt;br /&gt;");<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>    private static void process(java.util.logging.Logger log, String level,<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        PrintWriter out) throws IOException {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      if (level != null) {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        log.setLevel(java.util.logging.Level.parse(level));<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        out.println(MARKER + "Setting Level to " + level + " ...&lt;br /&gt;");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      }<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>      java.util.logging.Level lev;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      for(; (lev = log.getLevel()) == null; log = log.getParent());<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      out.println(MARKER + "Effective level: &lt;b&gt;" + lev + "&lt;/b&gt;&lt;br /&gt;");<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    }<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  }<a name="line.174"></a>
-<span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span>  private LogLevel() {}<a name="line.176"></a>
-<span class="sourceLineNo">177</span>}<a name="line.177"></a>
+<span class="sourceLineNo">120</span>            + "Submitted Log Name: &lt;b&gt;" + logName + "&lt;/b&gt;&lt;br /&gt;");<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>        Logger log = LoggerFactory.getLogger(logName);<a name="line.122"></a>
+<span class="sourceLineNo">123</span>        out.println(MARKER<a name="line.123"></a>
+<span class="sourceLineNo">124</span>            + "Log Class: &lt;b&gt;" + log.getClass().getName() +"&lt;/b&gt;&lt;br /&gt;");<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        if (level != null) {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>          out.println(MARKER + "Submitted Level: &lt;b&gt;" + level + "&lt;/b&gt;&lt;br /&gt;");<a name="line.126"></a>
+<span class="sourceLineNo">127</span>        }<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>        if (log instanceof Log4JLogger) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>          process(((Log4JLogger)log).getLogger(), level, out);<a name="line.130"></a>
+<span class="sourceLineNo">131</span>        } else if (log instanceof Jdk14Logger) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>          process(((Jdk14Logger)log).getLogger(), level, out);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>        } else if (log instanceof Log4jLoggerAdapter) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>          process(LogManager.getLogger(logName), level, out);<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        } else {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>          out.println("Sorry, " + log.getClass() + " not supported.&lt;br /&gt;");<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>      out.println("&lt;/div&gt;");<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      request.getRequestDispatcher("footer.jsp").include(request, response);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      out.close();<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>    static final String FORMS = "&lt;div class='container-fluid content'&gt;\n"<a name="line.144"></a>
+<span class="sourceLineNo">145</span>        + "&lt;div class='row inner_header'&gt;\n" + "&lt;div class='page-header'&gt;\n"<a name="line.145"></a>
+<span class="sourceLineNo">146</span>        + "&lt;h1&gt;Get/Set Log Level&lt;/h1&gt;\n" + "&lt;/div&gt;\n" + "&lt;/div&gt;\n" + "Actions:" + "&lt;p&gt;"<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        + "&lt;center&gt;\n" + "&lt;table class='table' style='border: 0;' width='95%' &gt;\n" + "&lt;tr&gt;\n"<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        + "&lt;form&gt;\n" + "&lt;td class='centered'&gt;\n"<a name="line.148"></a>
+<span class="sourceLineNo">149</span>        + "&lt;input style='font-size: 12pt; width: 10em' type='submit' value='Get Log Level'"<a name="line.149"></a>
+<span class="sourceLineNo">150</span>        + " class='btn' /&gt;\n" + "&lt;/td&gt;\n" + "&lt;td style='text-align: center;'&gt;\n"<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        + "&lt;input type='text' name='log' size='50' required='required'"<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        + " placeholder='Log Name (required)' /&gt;\n" + "&lt;/td&gt;\n" + "&lt;td width=\"40%\"&gt;"<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        + "Get the current log level for the specified log name." + "&lt;/td&gt;\n" + "&lt;/form&gt;\n"<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        + "&lt;/tr&gt;\n" + "&lt;tr&gt;\n" + "&lt;form&gt;\n" + "&lt;td class='centered'&gt;\n"<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        + "&lt;input style='font-size: 12pt; width: 10em' type='submit'"<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        + " value='Set Log Level' class='btn' /&gt;\n" + "&lt;/td&gt;\n"<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        + "&lt;td style='text-align: center;'&gt;\n"<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        + "&lt;input type='text' name='log' size='50' required='required'"<a name="line.158"></a>
+<span class="sourceLineNo">159</span>        + " placeholder='Log Name (required)' /&gt;\n"<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        + "&lt;input type='text' name='level' size='50' required='required'"<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        + " placeholder='Log Level (required)' /&gt;\n" + "&lt;/td&gt;\n" + "&lt;td width=\"40%\" style=\"\"&gt;"<a name="line.161"></a>
+<span class="sourceLineNo">162</span>        + "Set the specified log level for the specified log name." + "&lt;/td&gt;\n" + "&lt;/form&gt;\n"<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        + "&lt;/tr&gt;\n" + "&lt;/table&gt;\n" + "&lt;/center&gt;\n" + "&lt;/p&gt;\n" + "&lt;hr/&gt;\n";<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    private static void process(org.apache.log4j.Logger log, String level,<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        PrintWriter out) throws IOException {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      if (level != null) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>        if (!level.equals(org.apache.log4j.Level.toLevel(level).toString())) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>          out.println(MARKER + "&lt;div class='text-danger'&gt;" + "Bad level : &lt;strong&gt;" + level<a name="line.169"></a>
+<span class="sourceLineNo">170</span>              + "&lt;/strong&gt;&lt;br /&gt;" + "&lt;/div&gt;");<a name="line.170"></a>
+<span class="sourceLineNo">171</span>        } else {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>          log.setLevel(org.apache.log4j.Level.toLevel(level));<a name="line.172"></a>
+<span class="sourceLineNo">173</span>          out.println(MARKER + "&lt;div class='text-success'&gt;" + "Setting Level to &lt;strong&gt;" + level<a name="line.173"></a>
+<span class="sourceLineNo">174</span>              + "&lt;/strong&gt; ...&lt;br /&gt;" + "&lt;/div&gt;");<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        }<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      out.println(MARKER<a name="line.177"></a>
+<span class="sourceLineNo">178</span>          + "Effective level: &lt;b&gt;" + log.getEffectiveLevel() + "&lt;/b&gt;&lt;br /&gt;");<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>    private static void process(java.util.logging.Logger log, String level,<a name="line.181"></a>
+<span class="sourceLineNo">182</span>        PrintWriter out) throws IOException {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      if (level != null) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        log.setLevel(java.util.logging.Level.parse(level));<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        out.println(MARKER + "Setting Level to " + level + " ...&lt;br /&gt;");<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>      java.util.logging.Level lev;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      for(; (lev = log.getLevel()) == null; log = log.getParent());<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      out.println(MARKER + "Effective level: &lt;b&gt;" + lev + "&lt;/b&gt;&lt;br /&gt;");<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  private LogLevel() {}<a name="line.194"></a>
+<span class="sourceLineNo">195</span>}<a name="line.195"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html
index 8ffb668..cc2e8da 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/hfile/CacheStats.html
@@ -396,79 +396,109 @@
 <span class="sourceLineNo">388</span>  }<a name="line.388"></a>
 <span class="sourceLineNo">389</span><a name="line.389"></a>
 <span class="sourceLineNo">390</span>  public double getHitRatio() {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    return ((double) getHitCount() / (double) getRequestCount());<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>  public double getHitCachingRatio() {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return ((double) getHitCachingCount() / (double) getRequestCachingCount());<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  public double getMissRatio() {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    return ((double) getMissCount() / (double) getRequestCount());<a name="line.399"></a>
-<span class="sourceLineNo">400</span>  }<a name="line.400"></a>
-<span class="sourceLineNo">401</span><a name="line.401"></a>
-<span class="sourceLineNo">402</span>  public double getMissCachingRatio() {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    return ((double) getMissCachingCount() / (double) getRequestCachingCount());<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>  public double evictedPerEviction() {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    return ((double) getEvictedCount() / (double) getEvictionCount());<a name="line.407"></a>
+<span class="sourceLineNo">391</span>    double requestCount = getRequestCount();<a name="line.391"></a>
+<span class="sourceLineNo">392</span><a name="line.392"></a>
+<span class="sourceLineNo">393</span>    if (requestCount == 0) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      return 0;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    }<a name="line.395"></a>
+<span class="sourceLineNo">396</span><a name="line.396"></a>
+<span class="sourceLineNo">397</span>    return getHitCount() / requestCount;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>  }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span>  public double getHitCachingRatio() {<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    double requestCachingCount = getRequestCachingCount();<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>    if (requestCachingCount == 0) {<a name="line.403"></a>
+<span class="sourceLineNo">404</span>      return 0;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>    return getHitCachingCount() / requestCachingCount;<a name="line.407"></a>
 <span class="sourceLineNo">408</span>  }<a name="line.408"></a>
 <span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>  public long getFailedInserts() {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    return failedInserts.get();<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>  public void rollMetricsPeriod() {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    hitCounts[windowIndex] = getHitCount() - lastHitCount;<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    lastHitCount = getHitCount();<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    hitCachingCounts[windowIndex] =<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      getHitCachingCount() - lastHitCachingCount;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    lastHitCachingCount = getHitCachingCount();<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    requestCounts[windowIndex] = getRequestCount() - lastRequestCount;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    lastRequestCount = getRequestCount();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    requestCachingCounts[windowIndex] =<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      getRequestCachingCount() - lastRequestCachingCount;<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    lastRequestCachingCount = getRequestCachingCount();<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    windowIndex = (windowIndex + 1) % numPeriodsInWindow;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  }<a name="line.426"></a>
-<span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>  public long getSumHitCountsPastNPeriods() {<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    return sum(hitCounts);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public long getSumRequestCountsPastNPeriods() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return sum(requestCounts);<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>  public long getSumHitCachingCountsPastNPeriods() {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return sum(hitCachingCounts);<a name="line.437"></a>
+<span class="sourceLineNo">410</span>  public double getMissRatio() {<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    double requestCount = getRequestCount();<a name="line.411"></a>
+<span class="sourceLineNo">412</span><a name="line.412"></a>
+<span class="sourceLineNo">413</span>    if (requestCount == 0) {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      return 0;<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    }<a name="line.415"></a>
+<span class="sourceLineNo">416</span><a name="line.416"></a>
+<span class="sourceLineNo">417</span>    return getMissCount() / requestCount;<a name="line.417"></a>
+<span class="sourceLineNo">418</span>  }<a name="line.418"></a>
+<span class="sourceLineNo">419</span><a name="line.419"></a>
+<span class="sourceLineNo">420</span>  public double getMissCachingRatio() {<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    double requestCachingCount = getRequestCachingCount();<a name="line.421"></a>
+<span class="sourceLineNo">422</span><a name="line.422"></a>
+<span class="sourceLineNo">423</span>    if (requestCachingCount == 0) {<a name="line.423"></a>
+<span class="sourceLineNo">424</span>      return 0;<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>    return getMissCachingCount() / requestCachingCount;<a name="line.427"></a>
+<span class="sourceLineNo">428</span>  }<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>  public double evictedPerEviction() {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    double evictionCount = getEvictionCount();<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span>    if (evictionCount == 0) {<a name="line.433"></a>
+<span class="sourceLineNo">434</span>      return 0;<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>    return getEvictedCount() / evictionCount;<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>  public long getSumRequestCachingCountsPastNPeriods() {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    return sum(requestCachingCounts);<a name="line.441"></a>
+<span class="sourceLineNo">440</span>  public long getFailedInserts() {<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    return failedInserts.get();<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>  public double getHitRatioPastNPeriods() {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    double ratio = ((double)getSumHitCountsPastNPeriods() /<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        (double)getSumRequestCountsPastNPeriods());<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    return Double.isNaN(ratio) ? 0 : ratio;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  }<a name="line.448"></a>
-<span class="sourceLineNo">449</span><a name="line.449"></a>
-<span class="sourceLineNo">450</span>  public double getHitCachingRatioPastNPeriods() {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    double ratio = ((double)getSumHitCachingCountsPastNPeriods() /<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        (double)getSumRequestCachingCountsPastNPeriods());<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return Double.isNaN(ratio) ? 0 : ratio;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>  public AgeSnapshot getAgeAtEvictionSnapshot() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    return new AgeSnapshot(this.ageAtEviction);<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>  private static long sum(long[] counts) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>    return Arrays.stream(counts).sum();<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  }<a name="line.462"></a>
-<span class="sourceLineNo">463</span>}<a name="line.463"></a>
+<span class="sourceLineNo">444</span>  public void rollMetricsPeriod() {<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    hitCounts[windowIndex] = getHitCount() - lastHitCount;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    lastHitCount = getHitCount();<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    hitCachingCounts[windowIndex] =<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      getHitCachingCount() - lastHitCachingCount;<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    lastHitCachingCount = getHitCachingCount();<a name="line.449"></a>
+<span class="sourceLineNo">450</span>    requestCounts[windowIndex] = getRequestCount() - lastRequestCount;<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    lastRequestCount = getRequestCount();<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    requestCachingCounts[windowIndex] =<a name="line.452"></a>
+<span class="sourceLineNo">453</span>      getRequestCachingCount() - lastRequestCachingCount;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    lastRequestCachingCount = getRequestCachingCount();<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    windowIndex = (windowIndex + 1) % numPeriodsInWindow;<a name="line.455"></a>
+<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
+<span class="sourceLineNo">457</span><a name="line.457"></a>
+<span class="sourceLineNo">458</span>  public long getSumHitCountsPastNPeriods() {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    return sum(hitCounts);<a name="line.459"></a>
+<span class="sourceLineNo">460</span>  }<a name="line.460"></a>
+<span class="sourceLineNo">461</span><a name="line.461"></a>
+<span class="sourceLineNo">462</span>  public long getSumRequestCountsPastNPeriods() {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    return sum(requestCounts);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>  }<a name="line.464"></a>
+<span class="sourceLineNo">465</span><a name="line.465"></a>
+<span class="sourceLineNo">466</span>  public long getSumHitCachingCountsPastNPeriods() {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    return sum(hitCachingCounts);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>  }<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span>  public long getSumRequestCachingCountsPastNPeriods() {<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    return sum(requestCachingCounts);<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>  public double getHitRatioPastNPeriods() {<a name="line.474"></a>
+<span class="sourceLineNo">475</span>    double ratio = ((double)getSumHitCountsPastNPeriods() /<a name="line.475"></a>
+<span class="sourceLineNo">476</span>        (double)getSumRequestCountsPastNPeriods());<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    return Double.isNaN(ratio) ? 0 : ratio;<a name="line.477"></a>
+<span class="sourceLineNo">478</span>  }<a name="line.478"></a>
+<span class="sourceLineNo">479</span><a name="line.479"></a>
+<span class="sourceLineNo">480</span>  public double getHitCachingRatioPastNPeriods() {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>    double ratio = ((double)getSumHitCachingCountsPastNPeriods() /<a name="line.481"></a>
+<span class="sourceLineNo">482</span>        (double)getSumRequestCachingCountsPastNPeriods());<a name="line.482"></a>
+<span class="sourceLineNo">483</span>    return Double.isNaN(ratio) ? 0 : ratio;<a name="line.483"></a>
+<span class="sourceLineNo">484</span>  }<a name="line.484"></a>
+<span class="sourceLineNo">485</span><a name="line.485"></a>
+<span class="sourceLineNo">486</span>  public AgeSnapshot getAgeAtEvictionSnapshot() {<a name="line.486"></a>
+<span class="sourceLineNo">487</span>    return new AgeSnapshot(this.ageAtEviction);<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>  private static long sum(long[] counts) {<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    return Arrays.stream(counts).sum();<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>
 
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/class-use/NamespaceDescriptor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/NamespaceDescriptor.html b/devapidocs/org/apache/hadoop/hbase/class-use/NamespaceDescriptor.html
index 39db3f3..911d72d 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/NamespaceDescriptor.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/NamespaceDescriptor.html
@@ -404,22 +404,42 @@
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
-                   <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
-<div class="block">Called after the modifyNamespace operation has been requested.</div>
+                   <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                   <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;oldNsDescriptor,
+                   <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor)</code>
+<div class="block">Called after the modifyNamespace operation has been requested.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                   <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
 <div class="block">Called before a new namespace is created by
  <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master"><code>HMaster</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
-                  <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
+                  <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;newNsDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                  <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor,
+                  <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;newNsDescriptor)</code>
 <div class="block">Called prior to modifying a namespace's properties.</div>
 </td>
 </tr>
@@ -578,7 +598,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) long</code></td>
-<td class="colLast"><span class="typeNameLabel">HMaster.</span><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,
+<td class="colLast"><span class="typeNameLabel">HMaster.</span><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;newNsDescriptor,
                long&nbsp;nonceGroup,
                long&nbsp;nonce)</code>
 <div class="block">Modify an existing Namespace.</div>
@@ -608,7 +628,8 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;oldNsDescriptor,
+                   <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
@@ -616,7 +637,8 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor,
+                  <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;newNsDescriptor)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/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 ad1b394..43221ce 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -5463,44 +5463,66 @@ service.</div>
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <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;htd)</code>
-<div class="block">Called after to modifying a table's properties.</div>
+                              <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                              <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;oldDescriptor,
+                              <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block">Called after to modifying a table's properties.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master"><code>HMaster</code></a> truncates a
  table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the deleteTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the disableTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the enableTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <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;htd)</code>
+               <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+               <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;oldDescriptor,
+               <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
 <div class="block">Called after the modifyTable operation has been requested.</div>
 </td>
 </tr>
@@ -5601,15 +5623,37 @@ service.</div>
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <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;htd)</code>
-<div class="block">Called prior to modifying a table's properties.</div>
+              <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+              <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;currentDescriptor,
+              <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor)</code>
+<div class="block">Called prior to modifying a table's properties.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                     <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;htd)</code>
+                    <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                    <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;currentDescriptor,
+                    <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor)</code>
 <div class="block">Called prior to modifying a table's properties.</div>
 </td>
 </tr>
@@ -6484,7 +6528,7 @@ service.</div>
 <tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><span class="typeNameLabel">HMaster.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#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,
+           <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor,
            long&nbsp;nonceGroup,
            long&nbsp;nonce)</code>&nbsp;</td>
 </tr>
@@ -6505,8 +6549,9 @@ service.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">postCompletedModifyTableAction</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;htd,
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">postCompletedModifyTableAction</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;oldDescriptor,
+                              <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor,
                               <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -6528,8 +6573,9 @@ service.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</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;htd)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</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;oldDescriptor,
+               <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -6587,13 +6633,15 @@ service.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</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;htd)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</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;currentDescriptor,
+              <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">preModifyTableAction</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;htd,
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">preModifyTableAction</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;currentDescriptor,
+                    <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor,
                     <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/client/class-use/TableDescriptor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/TableDescriptor.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/TableDescriptor.html
index f9dd01f..4831d8f 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/TableDescriptor.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/TableDescriptor.html
@@ -932,23 +932,45 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <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;htd)</code>
-<div class="block">Called after to modifying a table's properties.</div>
+                              <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                              <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;oldDescriptor,
+                              <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block">Called after to modifying a table's properties.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
                <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regions)</code>
 <div class="block">Called after the createTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <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;htd)</code>
+               <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+               <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;oldDescriptor,
+               <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
 <div class="block">Called after the modifyTable operation has been requested.</div>
 </td>
 </tr>
@@ -998,15 +1020,37 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <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;htd)</code>
-<div class="block">Called prior to modifying a table's properties.</div>
+              <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+              <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;currentDescriptor,
+              <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor)</code>
+<div class="block">Called prior to modifying a table's properties.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                     <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;htd)</code>
+                    <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                    <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;currentDescriptor,
+                    <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor)</code>
 <div class="block">Called prior to modifying a table's properties.</div>
 </td>
 </tr>
@@ -1332,7 +1376,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><span class="typeNameLabel">HMaster.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html#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,
+           <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor,
            long&nbsp;nonceGroup,
            long&nbsp;nonce)</code>&nbsp;</td>
 </tr>
@@ -1349,8 +1393,9 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">postCompletedModifyTableAction</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;htd,
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">postCompletedModifyTableAction</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;oldDescriptor,
+                              <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor,
                               <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -1360,8 +1405,9 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</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;htd)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</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;oldDescriptor,
+               <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
@@ -1391,13 +1437,15 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</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;htd)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</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;currentDescriptor,
+              <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">preModifyTableAction</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;htd,
+<td class="colLast"><span class="typeNameLabel">MasterCoprocessorHost.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">preModifyTableAction</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;currentDescriptor,
+                    <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor,
                     <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/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 2c472af..4b4a0fd 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -550,24 +550,24 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/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/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/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/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/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/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/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/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/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/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/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/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/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/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/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/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/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/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/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/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/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
 </ul>
 </li>
 </ul>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/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 3d42576..6d426da 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -346,11 +346,11 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/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/7bcc960d/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
index 9883bd0..1edc39a 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
@@ -958,7 +958,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getRegionInfoList</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.434">getRegionInfoList</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="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html#line.436">getRegionInfoList</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html b/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
index 9eb46aa..3e1ea7f 100644
--- a/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
@@ -125,8 +125,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.monitoring.<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.State.html" title="enum in org.apache.hadoop.hbase.monitoring"><span class="typeNameLink">MonitoredTask.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.monitoring.<a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskMonitor.TaskFilter.TaskType.html" title="enum in org.apache.hadoop.hbase.monitoring"><span class="typeNameLink">TaskMonitor.TaskFilter.TaskType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.monitoring.<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.State.html" title="enum in org.apache.hadoop.hbase.monitoring"><span class="typeNameLink">MonitoredTask.State</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/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 161b0f4..0d69462 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -441,19 +441,19 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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/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/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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/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/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Size.Unit.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Size.Unit</span></a></li>
 <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/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/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/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.html b/devapidocs/org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.html
index 9f5607d..77c87de 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.html
@@ -256,7 +256,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCop
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">post
 Balance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-">postClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAct
 ion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegions
 Action-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href
 ="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObs
 erver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a>, <a href="../..
 /../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDes
 criptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContex
 t-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../.
 ./org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/Ma
 sterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup<
 /a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">postRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>
 , <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../org/apache/h
 adoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</
 a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.had
 oop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-long-">preAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-
 org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.a
 pache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">preDecommissionRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.copro
 cessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html
 #preDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../org/ap
 ache/hadoop/hbase/coprocessor/MasterObserver.html#preGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetClusterMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTabl
 eDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDecommissionedRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../org
 /apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-java.lang.String-">preLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbas
 e.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.Tab
 leDescriptor-">preModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor
 /MasterObserver.html#preRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">preRecommissionRegionServer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">preRemoveServers</a>, <a href="../.
 ./../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">preRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSw
 itchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org
 .apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObse
 rver.html#preSplitRegionAfterMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterMETAAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforeMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforeMETAAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObse
 rver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">post
 Balance</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-">postClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedCreateTableAct
 ion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedMergeRegions
 Action-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionIn
 fo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">pos
 tDecommissionRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoo
 p.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerCon
 fig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../
 org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionI
 nfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase
 .TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-jav
 a.lang.String-">postMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers
 -org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">postRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitReg
 ionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.Obser
 verContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-or
 g.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../.
 ./../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-long-">preAbortProcedure</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../org/apac
 he/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreate
 Namespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">preDecommissionRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../org/apache/h
 adoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName
 -">preDisableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetClusterMetrics-org.apache.hadoop.hbase.coproce
 ssor.ObserverContext-">preGetClusterMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.la
 ng.String-">preGetTableDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDecommissionedRegionServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocess
 or.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-java.lang.String-">preLockHeartbeat</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../org/apache/hadoop/hbase/cop
 rocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocesso
 r/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.a
 pache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">preRecommissionRegionServer</a>, <a href="../../../../../org/apache/hadoop/
 hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">preRemoveServers</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A
 -java.lang.String-">preRequestLock</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org
 .apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown
 </a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterMETAAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBefor
 eMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforeMETAAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html
 #preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
 </ul>
 </li>
 </ul>

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


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
index 25c940a..59f97b4 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.html
@@ -428,25 +428,27 @@
 <span class="sourceLineNo">420</span>    if (cpHost != null) {<a name="line.420"></a>
 <span class="sourceLineNo">421</span>      switch (state) {<a name="line.421"></a>
 <span class="sourceLineNo">422</span>        case MODIFY_TABLE_PRE_OPERATION:<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          cpHost.preModifyTableAction(getTableName(), modifiedTableDescriptor, getUser());<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          break;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>        case MODIFY_TABLE_POST_OPERATION:<a name="line.425"></a>
-<span class="sourceLineNo">426</span>          cpHost.postCompletedModifyTableAction(getTableName(), modifiedTableDescriptor,getUser());<a name="line.426"></a>
-<span class="sourceLineNo">427</span>          break;<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        default:<a name="line.428"></a>
-<span class="sourceLineNo">429</span>          throw new UnsupportedOperationException(this + " unhandled state=" + state);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    }<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  }<a name="line.432"></a>
-<span class="sourceLineNo">433</span><a name="line.433"></a>
-<span class="sourceLineNo">434</span>  private List&lt;RegionInfo&gt; getRegionInfoList(final MasterProcedureEnv env) throws IOException {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    if (regionInfoList == null) {<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      regionInfoList = env.getAssignmentManager().getRegionStates()<a name="line.436"></a>
-<span class="sourceLineNo">437</span>          .getRegionsOfTable(getTableName());<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    return regionInfoList;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>  }<a name="line.440"></a>
-<span class="sourceLineNo">441</span>}<a name="line.441"></a>
+<span class="sourceLineNo">423</span>          cpHost.preModifyTableAction(getTableName(), unmodifiedTableDescriptor,<a name="line.423"></a>
+<span class="sourceLineNo">424</span>            modifiedTableDescriptor, getUser());<a name="line.424"></a>
+<span class="sourceLineNo">425</span>          break;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>        case MODIFY_TABLE_POST_OPERATION:<a name="line.426"></a>
+<span class="sourceLineNo">427</span>          cpHost.postCompletedModifyTableAction(getTableName(), unmodifiedTableDescriptor,<a name="line.427"></a>
+<span class="sourceLineNo">428</span>            modifiedTableDescriptor,getUser());<a name="line.428"></a>
+<span class="sourceLineNo">429</span>          break;<a name="line.429"></a>
+<span class="sourceLineNo">430</span>        default:<a name="line.430"></a>
+<span class="sourceLineNo">431</span>          throw new UnsupportedOperationException(this + " unhandled state=" + state);<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>  }<a name="line.434"></a>
+<span class="sourceLineNo">435</span><a name="line.435"></a>
+<span class="sourceLineNo">436</span>  private List&lt;RegionInfo&gt; getRegionInfoList(final MasterProcedureEnv env) throws IOException {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    if (regionInfoList == null) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>      regionInfoList = env.getAssignmentManager().getRegionStates()<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          .getRegionsOfTable(getTableName());<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    return regionInfoList;<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/util/JSONBean.Writer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/JSONBean.Writer.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/JSONBean.Writer.html
index 52440ca..1a2cb3b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/JSONBean.Writer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/JSONBean.Writer.html
@@ -318,48 +318,52 @@
 <span class="sourceLineNo">310</span>        jg.writeEndArray();<a name="line.310"></a>
 <span class="sourceLineNo">311</span>      } else if(value instanceof Number) {<a name="line.311"></a>
 <span class="sourceLineNo">312</span>        Number n = (Number)value;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>        jg.writeNumber(n.toString());<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      } else if(value instanceof Boolean) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        Boolean b = (Boolean)value;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        jg.writeBoolean(b);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } else if(value instanceof CompositeData) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        CompositeData cds = (CompositeData)value;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>        CompositeType comp = cds.getCompositeType();<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        Set&lt;String&gt; keys = comp.keySet();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        jg.writeStartObject();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        for (String key: keys) {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>          writeAttribute(jg, key, null, cds.get(key));<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        }<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        jg.writeEndObject();<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      } else if(value instanceof TabularData) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>        TabularData tds = (TabularData)value;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        jg.writeStartArray();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        for(Object entry : tds.values()) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>          writeObject(jg, description, entry);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>        }<a name="line.331"></a>
-<span class="sourceLineNo">332</span>        jg.writeEndArray();<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      } else {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        jg.writeString(value.toString());<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  }<a name="line.337"></a>
-<span class="sourceLineNo">338</span><a name="line.338"></a>
-<span class="sourceLineNo">339</span>  /**<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * Dump out all registered mbeans as json on System.out.<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @throws IOException<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @throws MalformedObjectNameException<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   */<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  public static void dumpAllBeans() throws IOException, MalformedObjectNameException {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    try (PrintWriter writer = new PrintWriter(<a name="line.345"></a>
-<span class="sourceLineNo">346</span>        new OutputStreamWriter(System.out, StandardCharsets.UTF_8))) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      JSONBean dumper = new JSONBean();<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      try (JSONBean.Writer jsonBeanWriter = dumper.open(writer)) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        jsonBeanWriter.write(mbeanServer, new ObjectName("*:*"), null, false);<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>}<a name="line.354"></a>
+<span class="sourceLineNo">313</span>        if (Double.isFinite(n.doubleValue())) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>          jg.writeNumber(n.toString());<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        } else {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>          jg.writeString(n.toString());<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        }<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      } else if(value instanceof Boolean) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        Boolean b = (Boolean)value;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        jg.writeBoolean(b);<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      } else if(value instanceof CompositeData) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        CompositeData cds = (CompositeData)value;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>        CompositeType comp = cds.getCompositeType();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        Set&lt;String&gt; keys = comp.keySet();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        jg.writeStartObject();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        for (String key: keys) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>          writeAttribute(jg, key, null, cds.get(key));<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>        jg.writeEndObject();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      } else if(value instanceof TabularData) {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>        TabularData tds = (TabularData)value;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>        jg.writeStartArray();<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        for(Object entry : tds.values()) {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>          writeObject(jg, description, entry);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>        }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        jg.writeEndArray();<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      } else {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        jg.writeString(value.toString());<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><a name="line.342"></a>
+<span class="sourceLineNo">343</span>  /**<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * Dump out all registered mbeans as json on System.out.<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * @throws IOException<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   * @throws MalformedObjectNameException<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   */<a name="line.347"></a>
+<span class="sourceLineNo">348</span>  public static void dumpAllBeans() throws IOException, MalformedObjectNameException {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    try (PrintWriter writer = new PrintWriter(<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        new OutputStreamWriter(System.out, StandardCharsets.UTF_8))) {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      JSONBean dumper = new JSONBean();<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      try (JSONBean.Writer jsonBeanWriter = dumper.open(writer)) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        jsonBeanWriter.write(mbeanServer, new ObjectName("*:*"), null, false);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      }<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    }<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span>}<a name="line.358"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/util/JSONBean.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/JSONBean.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/JSONBean.html
index 52440ca..1a2cb3b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/JSONBean.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/JSONBean.html
@@ -318,48 +318,52 @@
 <span class="sourceLineNo">310</span>        jg.writeEndArray();<a name="line.310"></a>
 <span class="sourceLineNo">311</span>      } else if(value instanceof Number) {<a name="line.311"></a>
 <span class="sourceLineNo">312</span>        Number n = (Number)value;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>        jg.writeNumber(n.toString());<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      } else if(value instanceof Boolean) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        Boolean b = (Boolean)value;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        jg.writeBoolean(b);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } else if(value instanceof CompositeData) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        CompositeData cds = (CompositeData)value;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>        CompositeType comp = cds.getCompositeType();<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        Set&lt;String&gt; keys = comp.keySet();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        jg.writeStartObject();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        for (String key: keys) {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>          writeAttribute(jg, key, null, cds.get(key));<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        }<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        jg.writeEndObject();<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      } else if(value instanceof TabularData) {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>        TabularData tds = (TabularData)value;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        jg.writeStartArray();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        for(Object entry : tds.values()) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>          writeObject(jg, description, entry);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>        }<a name="line.331"></a>
-<span class="sourceLineNo">332</span>        jg.writeEndArray();<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      } else {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        jg.writeString(value.toString());<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    }<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  }<a name="line.337"></a>
-<span class="sourceLineNo">338</span><a name="line.338"></a>
-<span class="sourceLineNo">339</span>  /**<a name="line.339"></a>
-<span class="sourceLineNo">340</span>   * Dump out all registered mbeans as json on System.out.<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * @throws IOException<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @throws MalformedObjectNameException<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   */<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  public static void dumpAllBeans() throws IOException, MalformedObjectNameException {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    try (PrintWriter writer = new PrintWriter(<a name="line.345"></a>
-<span class="sourceLineNo">346</span>        new OutputStreamWriter(System.out, StandardCharsets.UTF_8))) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      JSONBean dumper = new JSONBean();<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      try (JSONBean.Writer jsonBeanWriter = dumper.open(writer)) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>        MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();<a name="line.349"></a>
-<span class="sourceLineNo">350</span>        jsonBeanWriter.write(mbeanServer, new ObjectName("*:*"), null, false);<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>}<a name="line.354"></a>
+<span class="sourceLineNo">313</span>        if (Double.isFinite(n.doubleValue())) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>          jg.writeNumber(n.toString());<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        } else {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>          jg.writeString(n.toString());<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        }<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      } else if(value instanceof Boolean) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        Boolean b = (Boolean)value;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        jg.writeBoolean(b);<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      } else if(value instanceof CompositeData) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        CompositeData cds = (CompositeData)value;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>        CompositeType comp = cds.getCompositeType();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        Set&lt;String&gt; keys = comp.keySet();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        jg.writeStartObject();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        for (String key: keys) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>          writeAttribute(jg, key, null, cds.get(key));<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>        jg.writeEndObject();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      } else if(value instanceof TabularData) {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>        TabularData tds = (TabularData)value;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>        jg.writeStartArray();<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        for(Object entry : tds.values()) {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>          writeObject(jg, description, entry);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>        }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        jg.writeEndArray();<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      } else {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        jg.writeString(value.toString());<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><a name="line.342"></a>
+<span class="sourceLineNo">343</span>  /**<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * Dump out all registered mbeans as json on System.out.<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * @throws IOException<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   * @throws MalformedObjectNameException<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   */<a name="line.347"></a>
+<span class="sourceLineNo">348</span>  public static void dumpAllBeans() throws IOException, MalformedObjectNameException {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    try (PrintWriter writer = new PrintWriter(<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        new OutputStreamWriter(System.out, StandardCharsets.UTF_8))) {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      JSONBean dumper = new JSONBean();<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      try (JSONBean.Writer jsonBeanWriter = dumper.open(writer)) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        jsonBeanWriter.write(mbeanServer, new ObjectName("*:*"), null, false);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      }<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    }<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span>}<a name="line.358"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/downloads.html
----------------------------------------------------------------------
diff --git a/downloads.html b/downloads.html
index 4e7af6a..78f78da 100644
--- a/downloads.html
+++ b/downloads.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="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase Downloads</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -366,7 +366,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-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index d05e1db..ecbf813 100644
--- a/export_control.html
+++ b/export_control.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Export Control
@@ -331,7 +331,7 @@ for more details.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 152d9b5..030deac 100644
--- a/index.html
+++ b/index.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBaseâ„¢ Home</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -411,7 +411,7 @@ Apache HBase is an open-source, distributed, versioned, non-relational database
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index c0aa6c1..47c4766 100644
--- a/integration.html
+++ b/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -291,7 +291,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index bb4c91f..4c79a9a 100644
--- a/issue-tracking.html
+++ b/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -288,7 +288,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index e58eb43..4df15e8 100644
--- a/license.html
+++ b/license.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -491,7 +491,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index c6b5ffd..e61c1c9 100644
--- a/mail-lists.html
+++ b/mail-lists.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -341,7 +341,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index 62e16c1..c57565c 100644
--- a/metrics.html
+++ b/metrics.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) Metrics
@@ -459,7 +459,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index 74d48a6..c8cfa09 100644
--- a/old_news.html
+++ b/old_news.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Old Apache HBase (TM) News
@@ -440,7 +440,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-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index e9dac92..9e32b42 100644
--- a/plugin-management.html
+++ b/plugin-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -440,7 +440,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index 1f645f5..e07e163 100644
--- a/plugins.html
+++ b/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -375,7 +375,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index fcaa5bc..11fa070 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Powered By Apache HBase™</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -769,7 +769,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-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index 07683f3..666bdc8 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -305,7 +305,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index d29a843..c3c3374 100644
--- a/project-summary.html
+++ b/project-summary.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -331,7 +331,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index cc0ae32..039a438 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
 Running Apache HBase (TM) in pseudo-distributed mode
@@ -308,7 +308,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index e371a0e..1b9e9a6 100644
--- a/replication.html
+++ b/replication.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Apache HBase (TM) Replication
@@ -303,7 +303,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-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index 1818c1e..b034ccf 100644
--- a/resources.html
+++ b/resources.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Other Apache HBase (TM) Resources</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -331,7 +331,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-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/source-repository.html
----------------------------------------------------------------------
diff --git a/source-repository.html b/source-repository.html
index 3d79006..43f1528 100644
--- a/source-repository.html
+++ b/source-repository.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -299,7 +299,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index 875cd8a..a7e6a23 100644
--- a/sponsors.html
+++ b/sponsors.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase™ Sponsors</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -333,7 +333,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-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index fd98ce5..368abdc 100644
--- a/supportingprojects.html
+++ b/supportingprojects.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Supporting Projects</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -520,7 +520,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-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index a6448b3..7977b46 100644
--- a/team-list.html
+++ b/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -730,7 +730,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/constant-values.html b/testdevapidocs/constant-values.html
index dc694b1..ede6116 100644
--- a/testdevapidocs/constant-values.html
+++ b/testdevapidocs/constant-values.html
@@ -1198,34 +1198,41 @@
 <td class="colLast"><code>1048576000</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.PerformanceEvaluation.PE_COMMAND_SHORTNAME">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/PerformanceEvaluation.html#PE_COMMAND_SHORTNAME">PE_COMMAND_SHORTNAME</a></code></td>
+<td class="colLast"><code>"pe"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.PerformanceEvaluation.RANDOM_READ">
 <!--   -->
 </a><code>static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/PerformanceEvaluation.html#RANDOM_READ">RANDOM_READ</a></code></td>
 <td class="colLast"><code>"randomRead"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.PerformanceEvaluation.RANDOM_SEEK_SCAN">
 <!--   -->
 </a><code>static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/PerformanceEvaluation.html#RANDOM_SEEK_SCAN">RANDOM_SEEK_SCAN</a></code></td>
 <td class="colLast"><code>"randomSeekScan"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.PerformanceEvaluation.ROW_LENGTH">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/hadoop/hbase/PerformanceEvaluation.html#ROW_LENGTH">ROW_LENGTH</a></code></td>
 <td class="colLast"><code>26</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.PerformanceEvaluation.TABLE_NAME">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/PerformanceEvaluation.html#TABLE_NAME">TABLE_NAME</a></code></td>
 <td class="colLast"><code>"TestTable"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.PerformanceEvaluation.TAG_LENGTH">
 <!--   -->
 </a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index 82f73c7..14fd2c9 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -9134,6 +9134,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncProcess.html#createBufferedMutatorParams-org.apache.hadoop.hbase.client.TestAsyncProcess.MyAsyncProcess-org.apache.hadoop.hbase.TableName-">createBufferedMutatorParams(TestAsyncProcess.MyAsyncProcess, TableName)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncProcess.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestCellComparator.html#createByteBufferKeyValueFromKeyValue-org.apache.hadoop.hbase.KeyValue-">createByteBufferKeyValueFromKeyValue(KeyValue)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestCellComparator.html" title="class in org.apache.hadoop.hbase">TestCellComparator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncProcess.AsyncProcessWithFailure.html#createCaller-org.apache.hadoop.hbase.client.CancellableRegionServerCallable-int-">createCaller(CancellableRegionServerCallable, int)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncProcess.AsyncProcessWithFailure.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.AsyncProcessWithFailure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncProcess.MyAsyncProcess.html#createCaller-org.apache.hadoop.hbase.client.CancellableRegionServerCallable-int-">createCaller(CancellableRegionServerCallable, int)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncProcess.MyAsyncProcess.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.MyAsyncProcess</a></dt>
@@ -28452,6 +28454,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.EvaluationMapTask.html#pe">pe</a></span> - Variable in class org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.EvaluationMapTask.html" title="class in org.apache.hadoop.hbase.rest">PerformanceEvaluation.EvaluationMapTask</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/PerformanceEvaluation.html#PE_COMMAND_SHORTNAME">PE_COMMAND_SHORTNAME</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#PE_KEY">PE_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.EvaluationMapTask</a></dt>
 <dd>
 <div class="block">configuration parameter name that contains the PE impl</div>
@@ -44480,6 +44484,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/TestComparatorSerialization.html#testBinaryComparator--">testBinaryComparator()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TestComparatorSerialization.html" title="class in org.apache.hadoop.hbase.filter">TestComparatorSerialization</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestCellComparator.html#testBinaryKeys--">testBinaryKeys()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestCellComparator.html" title="class in org.apache.hadoop.hbase">TestCellComparator</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestKeyValue.html#testBinaryKeys--">testBinaryKeys()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestKeyValue.html" title="class in org.apache.hadoop.hbase">TestKeyValue</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/TestComparatorSerialization.html#testBinaryPrefixComparator--">testBinaryPrefixComparator()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TestComparatorSerialization.html" title="class in org.apache.hadoop.hbase.filter">TestComparatorSerialization</a></dt>
@@ -53060,6 +53066,15 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestKeyValue.html#testMetaComparatorTableKeysWithCommaOk--">testMetaComparatorTableKeysWithCommaOk()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestKeyValue.html" title="class in org.apache.hadoop.hbase">TestKeyValue</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestCellComparator.html#testMetaComparisons--">testMetaComparisons()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestCellComparator.html" title="class in org.apache.hadoop.hbase">TestCellComparator</a></dt>
+<dd>
+<div class="block">Test meta comparisons using our new ByteBufferKeyValue Cell type, the type we use everywhere
+ in 2.0.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestCellComparator.html#testMetaComparisons2--">testMetaComparisons2()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestCellComparator.html" title="class in org.apache.hadoop.hbase">TestCellComparator</a></dt>
+<dd>
+<div class="block">More tests using ByteBufferKeyValue copied over from TestKeyValue which uses old KVs only.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestImportExport.html#testMetaExport--">testMetaExport()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestImportExport.html" title="class in org.apache.hadoop.hbase.mapreduce">TestImportExport</a></dt>
 <dd>
 <div class="block">Test export hbase:meta table</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html
index 236500d..fc0a9f1 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html
@@ -133,7 +133,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2034">PerformanceEvaluation.AppendTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2035">PerformanceEvaluation.AppendTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></pre>
 </li>
 </ul>
@@ -261,7 +261,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AppendTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html#line.2035">AppendTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html#line.2036">AppendTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
            <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
            <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -280,7 +280,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTa
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html#line.2040">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html#line.2041">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html
index e6f93d7..a6d7d96 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1418">PerformanceEvaluation.AsyncRandomReadTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1419">PerformanceEvaluation.AsyncRandomReadTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.AsyncTableTest</a></pre>
 </li>
 </ul>
@@ -284,7 +284,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockList">
 <li class="blockList">
 <h4>consistency</h4>
-<pre>private final&nbsp;org.apache.hadoop.hbase.client.Consistency <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1419">consistency</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.hbase.client.Consistency <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1420">consistency</a></pre>
 </li>
 </ul>
 <a name="gets">
@@ -293,7 +293,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockList">
 <li class="blockList">
 <h4>gets</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.hadoop.hbase.client.Get&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1420">gets</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.hadoop.hbase.client.Get&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1421">gets</a></pre>
 </li>
 </ul>
 <a name="rd">
@@ -302,7 +302,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rd</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1421">rd</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1422">rd</a></pre>
 </li>
 </ul>
 </li>
@@ -319,7 +319,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncRandomReadTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1423">AsyncRandomReadTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1424">AsyncRandomReadTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
                     <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                     <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -338,7 +338,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockList">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1433">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1434">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -356,7 +356,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockList">
 <li class="blockList">
 <h4>runtime</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1471">runtime</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1472">runtime</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
 </li>
 </ul>
 <a name="propagate-java.util.concurrent.Callable-">
@@ -365,7 +365,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockList">
 <li class="blockList">
 <h4>propagate</h4>
-<pre>public static&nbsp;&lt;V&gt;&nbsp;V&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1478">propagate</a>(<a href="https://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;&nbsp;callable)</pre>
+<pre>public static&nbsp;&lt;V&gt;&nbsp;V&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1479">propagate</a>(<a href="https://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;&nbsp;callable)</pre>
 </li>
 </ul>
 <a name="getReportingPeriod--">
@@ -374,7 +374,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockList">
 <li class="blockList">
 <h4>getReportingPeriod</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1487">getReportingPeriod</a>()</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1488">getReportingPeriod</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#getReportingPeriod--">getReportingPeriod</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a></code></dd>
@@ -387,7 +387,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testTakedown</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1493">testTakedown</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html#line.1494">testTakedown</a>()
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html
index 7d76d91..cf8601c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1502">PerformanceEvaluation.AsyncRandomWriteTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1503">PerformanceEvaluation.AsyncRandomWriteTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.AsyncTableTest</a></pre>
 </li>
 </ul>
@@ -249,7 +249,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncRandomWriteTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html#line.1503">AsyncRandomWriteTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html#line.1504">AsyncRandomWriteTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
                      <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                      <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -268,7 +268,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html#line.1508">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomWriteTest.html#line.1509">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html
index 130ab8d..9b95e8c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1542">PerformanceEvaluation.AsyncScanTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1543">PerformanceEvaluation.AsyncScanTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.AsyncTableTest</a></pre>
 </li>
 </ul>
@@ -272,7 +272,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockList">
 <li class="blockList">
 <h4>testScanner</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.client.ResultScanner <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html#line.1543">testScanner</a></pre>
+<pre>private&nbsp;org.apache.hadoop.hbase.client.ResultScanner <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html#line.1544">testScanner</a></pre>
 </li>
 </ul>
 <a name="asyncTable">
@@ -281,7 +281,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>asyncTable</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.client.AsyncTable&lt;?&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html#line.1544">asyncTable</a></pre>
+<pre>private&nbsp;org.apache.hadoop.hbase.client.AsyncTable&lt;?&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html#line.1545">asyncTable</a></pre>
 </li>
 </ul>
 </li>
@@ -298,7 +298,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncScanTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html#line.1546">AsyncScanTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html#line.1547">AsyncScanTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
               <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
               <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -317,7 +317,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockList">
 <li class="blockList">
 <h4>onStartup</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html#line.1551">onStartup</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html#line.1552">onStartup</a>()
         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -333,7 +333,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockList">
 <li class="blockList">
 <h4>testTakedown</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html#line.1558">testTakedown</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html#line.1559">testTakedown</a>()
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -349,7 +349,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html#line.1567">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncScanTest.html#line.1568">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html
index e546c2f..16e3d05 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1594">PerformanceEvaluation.AsyncSequentialReadTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1595">PerformanceEvaluation.AsyncSequentialReadTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.AsyncTableTest</a></pre>
 </li>
 </ul>
@@ -249,7 +249,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncSequentialReadTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html#line.1595">AsyncSequentialReadTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html#line.1596">AsyncSequentialReadTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
                         <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                         <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -268,7 +268,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html#line.1600">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html#line.1601">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html
index 95955c4..06343c9 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1624">PerformanceEvaluation.AsyncSequentialWriteTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1625">PerformanceEvaluation.AsyncSequentialWriteTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.AsyncTableTest</a></pre>
 </li>
 </ul>
@@ -249,7 +249,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncSequentialWriteTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html#line.1625">AsyncSequentialWriteTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html#line.1626">AsyncSequentialWriteTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
                          <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                          <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -268,7 +268,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html#line.1630">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html#line.1631">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html
index 4807060..a626ac7 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1401">PerformanceEvaluation.AsyncTableTest</a>
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1402">PerformanceEvaluation.AsyncTableTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.AsyncTest</a></pre>
 </li>
 </ul>
@@ -249,7 +249,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>table</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.client.AsyncTable&lt;?&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html#line.1402">table</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.client.AsyncTable&lt;?&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html#line.1403">table</a></pre>
 </li>
 </ul>
 </li>
@@ -266,7 +266,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AsyncTableTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html#line.1404">AsyncTableTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html#line.1405">AsyncTableTest</a>(org.apache.hadoop.hbase.client.AsyncConnection&nbsp;con,
                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -285,7 +285,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockList">
 <li class="blockList">
 <h4>onStartup</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html#line.1409">onStartup</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html#line.1410">onStartup</a>()
         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -301,7 +301,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Async
 <ul class="blockListLast">
 <li class="blockList">
 <h4>onTakedown</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html#line.1414">onTakedown</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTableTest.html#line.1415">onTakedown</a>()
          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialWriteTest.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncSequentialReadTest.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private Hist

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html
index df30a00..3d2b4ec 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1942">PerformanceEvaluation.ScanTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1943">PerformanceEvaluation.ScanTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
 </li>
 </ul>
@@ -264,7 +264,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testScanner</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.client.ResultScanner <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1943">testScanner</a></pre>
+<pre>private&nbsp;org.apache.hadoop.hbase.client.ResultScanner <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1944">testScanner</a></pre>
 </li>
 </ul>
 </li>
@@ -281,7 +281,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ScanTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1945">ScanTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1946">ScanTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
          <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
          <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -300,7 +300,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>testTakedown</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1950">testTakedown</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1951">testTakedown</a>()
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -316,7 +316,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1959">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1960">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html
index fe182c6..d72b414 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2112">PerformanceEvaluation.SequentialReadTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2113">PerformanceEvaluation.SequentialReadTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
 </li>
 </ul>
@@ -249,7 +249,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SequentialReadTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html#line.2113">SequentialReadTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html#line.2114">SequentialReadTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                    <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                    <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -268,7 +268,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html#line.2118">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html#line.2119">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html
index d5d599f..056a44e 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html
@@ -128,7 +128,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2138">PerformanceEvaluation.SequentialWriteTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.2139">PerformanceEvaluation.SequentialWriteTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.BufferedMutatorTest</a></pre>
 </li>
 </ul>
@@ -249,7 +249,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Buffe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SequentialWriteTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html#line.2139">SequentialWriteTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html#line.2140">SequentialWriteTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                     <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                     <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -268,7 +268,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Buffe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html#line.2144">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html#line.2145">testRow</a>(int&nbsp;i)
       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html
index 02fdcb3..a64ee82 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html
@@ -105,7 +105,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static interface <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.254">PerformanceEvaluation.Status</a></pre>
+<pre>static interface <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.255">PerformanceEvaluation.Status</a></pre>
 <div class="block">Implementations can have their status set.</div>
 </li>
 </ul>
@@ -152,7 +152,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setStatus</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html#line.260">setStatus</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html#line.261">setStatus</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)
         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Sets status</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html
index 33ba00e..f5d323a 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1383">PerformanceEvaluation.TableTest</a>
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1384">PerformanceEvaluation.TableTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></pre>
 </li>
 </ul>
@@ -249,7 +249,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>table</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.client.Table <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1384">table</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.client.Table <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1385">table</a></pre>
 </li>
 </ul>
 </li>
@@ -266,7 +266,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TableTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1386">TableTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1387">TableTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
           <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
           <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -285,7 +285,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockList">
 <li class="blockList">
 <h4>onStartup</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1391">onStartup</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1392">onStartup</a>()
         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -301,7 +301,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>onTakedown</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1396">onTakedown</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1397">onTakedown</a>()
          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html
index 409c387..5f771b5 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1333">PerformanceEvaluation.Test</a>
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1334">PerformanceEvaluation.Test</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestBase</a></pre>
 </li>
 </ul>
@@ -230,7 +230,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestB
 <ul class="blockListLast">
 <li class="blockList">
 <h4>connection</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.client.Connection <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1334">connection</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.client.Connection <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1335">connection</a></pre>
 </li>
 </ul>
 </li>
@@ -247,7 +247,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestB
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Test</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1336">Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1337">Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
      <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
      <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -266,7 +266,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestB
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1342">createConnection</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1343">createConnection</a>()
                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -282,7 +282,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestB
 <ul class="blockListLast">
 <li class="blockList">
 <h4>closeConnection</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1349">closeConnection</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1350">closeConnection</a>()
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html
index 77279ca..d280eba 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1057">PerformanceEvaluation.TestBase</a>
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1058">PerformanceEvaluation.TestBase</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -372,7 +372,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>randomSeed</h4>
-<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1060">randomSeed</a></pre>
+<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1061">randomSeed</a></pre>
 </li>
 </ul>
 <a name="everyN">
@@ -381,7 +381,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>everyN</h4>
-<pre>private final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1065">everyN</a></pre>
+<pre>private final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1066">everyN</a></pre>
 </li>
 </ul>
 <a name="rand">
@@ -390,7 +390,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>rand</h4>
-<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1067">rand</a></pre>
+<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1068">rand</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -399,7 +399,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>protected final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1068">conf</a></pre>
+<pre>protected final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1069">conf</a></pre>
 </li>
 </ul>
 <a name="opts">
@@ -408,7 +408,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>opts</h4>
-<pre>protected final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1069">opts</a></pre>
+<pre>protected final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1070">opts</a></pre>
 </li>
 </ul>
 <a name="status">
@@ -417,7 +417,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>status</h4>
-<pre>private final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1071">status</a></pre>
+<pre>private final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1072">status</a></pre>
 </li>
 </ul>
 <a name="traceSampler">
@@ -426,7 +426,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>traceSampler</h4>
-<pre>private final&nbsp;org.apache.htrace.core.Sampler <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1072">traceSampler</a></pre>
+<pre>private final&nbsp;org.apache.htrace.core.Sampler <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1073">traceSampler</a></pre>
 </li>
 </ul>
 <a name="receiverHost">
@@ -435,7 +435,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>receiverHost</h4>
-<pre>private final&nbsp;org.apache.hadoop.hbase.trace.SpanReceiverHost <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1073">receiverHost</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.hbase.trace.SpanReceiverHost <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1074">receiverHost</a></pre>
 </li>
 </ul>
 <a name="testName">
@@ -444,7 +444,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testName</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1075">testName</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1076">testName</a></pre>
 </li>
 </ul>
 <a name="latencyHistogram">
@@ -453,7 +453,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>latencyHistogram</h4>
-<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1076">latencyHistogram</a></pre>
+<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1077">latencyHistogram</a></pre>
 </li>
 </ul>
 <a name="valueSizeHistogram">
@@ -462,7 +462,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>valueSizeHistogram</h4>
-<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1077">valueSizeHistogram</a></pre>
+<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1078">valueSizeHistogram</a></pre>
 </li>
 </ul>
 <a name="rpcCallsHistogram">
@@ -471,7 +471,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcCallsHistogram</h4>
-<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1078">rpcCallsHistogram</a></pre>
+<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1079">rpcCallsHistogram</a></pre>
 </li>
 </ul>
 <a name="remoteRpcCallsHistogram">
@@ -480,7 +480,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>remoteRpcCallsHistogram</h4>
-<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1079">remoteRpcCallsHistogram</a></pre>
+<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1080">remoteRpcCallsHistogram</a></pre>
 </li>
 </ul>
 <a name="millisBetweenNextHistogram">
@@ -489,7 +489,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>millisBetweenNextHistogram</h4>
-<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1080">millisBetweenNextHistogram</a></pre>
+<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1081">millisBetweenNextHistogram</a></pre>
 </li>
 </ul>
 <a name="regionsScannedHistogram">
@@ -498,7 +498,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>regionsScannedHistogram</h4>
-<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1081">regionsScannedHistogram</a></pre>
+<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1082">regionsScannedHistogram</a></pre>
 </li>
 </ul>
 <a name="bytesInResultsHistogram">
@@ -507,7 +507,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>bytesInResultsHistogram</h4>
-<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1082">bytesInResultsHistogram</a></pre>
+<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1083">bytesInResultsHistogram</a></pre>
 </li>
 </ul>
 <a name="bytesInRemoteResultsHistogram">
@@ -516,7 +516,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>bytesInRemoteResultsHistogram</h4>
-<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1083">bytesInRemoteResultsHistogram</a></pre>
+<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1084">bytesInRemoteResultsHistogram</a></pre>
 </li>
 </ul>
 <a name="zipf">
@@ -525,7 +525,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>zipf</h4>
-<pre>private&nbsp;<a href="../../../../org/apache/hadoop/hbase/io/hfile/RandomDistribution.Zipf.html" title="class in org.apache.hadoop.hbase.io.hfile">RandomDistribution.Zipf</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1084">zipf</a></pre>
+<pre>private&nbsp;<a href="../../../../org/apache/hadoop/hbase/io/hfile/RandomDistribution.Zipf.html" title="class in org.apache.hadoop.hbase.io.hfile">RandomDistribution.Zipf</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1085">zipf</a></pre>
 </li>
 </ul>
 </li>
@@ -542,7 +542,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestBase</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1090">TestBase</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1091">TestBase</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
          <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
          <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 <div class="block">Note that all subclasses of this class must provide a public constructor
@@ -563,7 +563,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRandomSeed</h4>
-<pre>private static&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1062">nextRandomSeed</a>()</pre>
+<pre>private static&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1063">nextRandomSeed</a>()</pre>
 </li>
 </ul>
 <a name="getValueLength-java.util.Random-">
@@ -572,7 +572,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueLength</h4>
-<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1111">getValueLength</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;r)</pre>
+<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1112">getValueLength</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;r)</pre>
 </li>
 </ul>
 <a name="updateValueSize-org.apache.hadoop.hbase.client.Result:A-">
@@ -581,7 +581,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateValueSize</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1121">updateValueSize</a>(org.apache.hadoop.hbase.client.Result[]&nbsp;rs)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1122">updateValueSize</a>(org.apache.hadoop.hbase.client.Result[]&nbsp;rs)
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -595,7 +595,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateValueSize</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1126">updateValueSize</a>(org.apache.hadoop.hbase.client.Result&nbsp;r)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1127">updateValueSize</a>(org.apache.hadoop.hbase.client.Result&nbsp;r)
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -609,7 +609,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateValueSize</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1135">updateValueSize</a>(int&nbsp;valueSize)</pre>
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1136">updateValueSize</a>(int&nbsp;valueSize)</pre>
 </li>
 </ul>
 <a name="updateScanMetrics-org.apache.hadoop.hbase.client.metrics.ScanMetrics-">
@@ -618,7 +618,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateScanMetrics</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1140">updateScanMetrics</a>(org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;metrics)</pre>
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1141">updateScanMetrics</a>(org.apache.hadoop.hbase.client.metrics.ScanMetrics&nbsp;metrics)</pre>
 </li>
 </ul>
 <a name="generateStatus-int-int-int-">
@@ -627,7 +627,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>generateStatus</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1168">generateStatus</a>(int&nbsp;sr,
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1169">generateStatus</a>(int&nbsp;sr,
                       int&nbsp;i,
                       int&nbsp;lr)</pre>
 </li>
@@ -638,7 +638,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isRandomValueSize</h4>
-<pre>boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1173">isRandomValueSize</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1174">isRandomValueSize</a>()</pre>
 </li>
 </ul>
 <a name="getReportingPeriod--">
@@ -647,7 +647,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getReportingPeriod</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1177">getReportingPeriod</a>()</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1178">getReportingPeriod</a>()</pre>
 </li>
 </ul>
 <a name="getLatencyHistogram--">
@@ -656,7 +656,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getLatencyHistogram</h4>
-<pre>public&nbsp;com.codahale.metrics.Histogram&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1184">getLatencyHistogram</a>()</pre>
+<pre>public&nbsp;com.codahale.metrics.Histogram&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1185">getLatencyHistogram</a>()</pre>
 <div class="block">Populated by testTakedown. Only implemented by RandomReadTest at the moment.</div>
 </li>
 </ul>
@@ -666,7 +666,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testSetup</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1188">testSetup</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1189">testSetup</a>()
         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -680,7 +680,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnection</h4>
-<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1204">createConnection</a>()
+<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1205">createConnection</a>()
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -694,7 +694,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>onStartup</h4>
-<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1206">onStartup</a>()
+<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1207">onStartup</a>()
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -708,7 +708,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testTakedown</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1208">testTakedown</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1209">testTakedown</a>()
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -722,7 +722,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>onTakedown</h4>
-<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1252">onTakedown</a>()
+<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1253">onTakedown</a>()
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -736,7 +736,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>closeConnection</h4>
-<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1254">closeConnection</a>()
+<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1255">closeConnection</a>()
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -750,7 +750,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>test</h4>
-<pre>long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1261">test</a>()
+<pre>long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1262">test</a>()
    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -766,7 +766,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartRow</h4>
-<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1273">getStartRow</a>()</pre>
+<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1274">getStartRow</a>()</pre>
 </li>
 </ul>
 <a name="getLastRow--">
@@ -775,7 +775,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastRow</h4>
-<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1277">getLastRow</a>()</pre>
+<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1278">getLastRow</a>()</pre>
 </li>
 </ul>
 <a name="testTimed--">
@@ -784,7 +784,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testTimed</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1284">testTimed</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1285">testTimed</a>()
         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Provides an extension point for tests that don't want a per row invocation.</div>
@@ -801,7 +801,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getShortLatencyReport</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1315">getShortLatencyReport</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1316">getShortLatencyReport</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Subset of the histograms' calculation.</dd>
@@ -814,7 +814,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getShortValueSizeReport</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1322">getShortValueSizeReport</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1323">getShortValueSizeReport</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Subset of the histograms' calculation.</dd>
@@ -827,7 +827,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1330">testRow</a>(int&nbsp;i)
+<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestBase.html#line.1331">testRow</a>(int&nbsp;i)
                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/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 a97dfdc..2b1b6c6 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
@@ -2370,1287 +2370,1292 @@
 <span class="sourceLineNo">2362</span>  }<a name="line.2362"></a>
 <span class="sourceLineNo">2363</span><a name="line.2363"></a>
 <span class="sourceLineNo">2364</span>  @Override<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>  public long modifyTable(final TableName tableName, final TableDescriptor descriptor,<a name="line.2365"></a>
+<span class="sourceLineNo">2365</span>  public long modifyTable(final TableName tableName, final TableDescriptor newDescriptor,<a name="line.2365"></a>
 <span class="sourceLineNo">2366</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2366"></a>
 <span class="sourceLineNo">2367</span>    checkInitialized();<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>    sanityCheckTableDescriptor(descriptor);<a name="line.2368"></a>
+<span class="sourceLineNo">2368</span>    sanityCheckTableDescriptor(newDescriptor);<a name="line.2368"></a>
 <span class="sourceLineNo">2369</span><a name="line.2369"></a>
 <span class="sourceLineNo">2370</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2370"></a>
 <span class="sourceLineNo">2371</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2371"></a>
 <span class="sourceLineNo">2372</span>      @Override<a name="line.2372"></a>
 <span class="sourceLineNo">2373</span>      protected void run() throws IOException {<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>        getMaster().getMasterCoprocessorHost().preModifyTable(tableName, descriptor);<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span><a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>        LOG.info(getClientIdAuditPrefix() + " modify " + tableName);<a name="line.2376"></a>
+<span class="sourceLineNo">2374</span>        TableDescriptor oldDescriptor = getMaster().getTableDescriptors().get(tableName);<a name="line.2374"></a>
+<span class="sourceLineNo">2375</span>        getMaster().getMasterCoprocessorHost()<a name="line.2375"></a>
+<span class="sourceLineNo">2376</span>          .preModifyTable(tableName, oldDescriptor, newDescriptor);<a name="line.2376"></a>
 <span class="sourceLineNo">2377</span><a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>        // Execute the operation synchronously - wait for the operation completes before continuing.<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>        //<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>        submitProcedure(new ModifyTableProcedure(procedureExecutor.getEnvironment(),<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>            descriptor, latch));<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>        latch.await();<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span><a name="line.2386"></a>
-<span class="sourceLineNo">2387</span>        getMaster().getMasterCoprocessorHost().postModifyTable(tableName, descriptor);<a name="line.2387"></a>
-<span class="sourceLineNo">2388</span>      }<a name="line.2388"></a>
-<span class="sourceLineNo">2389</span><a name="line.2389"></a>
-<span class="sourceLineNo">2390</span>      @Override<a name="line.2390"></a>
-<span class="sourceLineNo">2391</span>      protected String getDescription() {<a name="line.2391"></a>
-<span class="sourceLineNo">2392</span>        return "ModifyTableProcedure";<a name="line.2392"></a>
-<span class="sourceLineNo">2393</span>      }<a name="line.2393"></a>
-<span class="sourceLineNo">2394</span>    });<a name="line.2394"></a>
-<span class="sourceLineNo">2395</span>  }<a name="line.2395"></a>
-<span class="sourceLineNo">2396</span><a name="line.2396"></a>
-<span class="sourceLineNo">2397</span>  public long restoreSnapshot(final SnapshotDescription snapshotDesc,<a name="line.2397"></a>
-<span class="sourceLineNo">2398</span>      final long nonceGroup, final long nonce, final boolean restoreAcl) throws IOException {<a name="line.2398"></a>
-<span class="sourceLineNo">2399</span>    checkInitialized();<a name="line.2399"></a>
-<span class="sourceLineNo">2400</span>    getSnapshotManager().checkSnapshotSupport();<a name="line.2400"></a>
-<span class="sourceLineNo">2401</span><a name="line.2401"></a>
-<span class="sourceLineNo">2402</span>    // Ensure namespace exists. Will throw exception if non-known NS.<a name="line.2402"></a>
-<span class="sourceLineNo">2403</span>    final TableName dstTable = TableName.valueOf(snapshotDesc.getTable());<a name="line.2403"></a>
-<span class="sourceLineNo">2404</span>    getClusterSchema().getNamespace(dstTable.getNamespaceAsString());<a name="line.2404"></a>
-<span class="sourceLineNo">2405</span><a name="line.2405"></a>
-<span class="sourceLineNo">2406</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2406"></a>
-<span class="sourceLineNo">2407</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2407"></a>
-<span class="sourceLineNo">2408</span>      @Override<a name="line.2408"></a>
-<span class="sourceLineNo">2409</span>      protected void run() throws IOException {<a name="line.2409"></a>
-<span class="sourceLineNo">2410</span>          setProcId(<a name="line.2410"></a>
-<span class="sourceLineNo">2411</span>            getSnapshotManager().restoreOrCloneSnapshot(snapshotDesc, getNonceKey(), restoreAcl));<a name="line.2411"></a>
-<span class="sourceLineNo">2412</span>      }<a name="line.2412"></a>
-<span class="sourceLineNo">2413</span><a name="line.2413"></a>
-<span class="sourceLineNo">2414</span>      @Override<a name="line.2414"></a>
-<span class="sourceLineNo">2415</span>      protected String getDescription() {<a name="line.2415"></a>
-<span class="sourceLineNo">2416</span>        return "RestoreSnapshotProcedure";<a name="line.2416"></a>
-<span class="sourceLineNo">2417</span>      }<a name="line.2417"></a>
-<span class="sourceLineNo">2418</span>    });<a name="line.2418"></a>
-<span class="sourceLineNo">2419</span>  }<a name="line.2419"></a>
-<span class="sourceLineNo">2420</span><a name="line.2420"></a>
-<span class="sourceLineNo">2421</span>  private void checkTableExists(final TableName tableName)<a name="line.2421"></a>
-<span class="sourceLineNo">2422</span>      throws IOException, TableNotFoundException {<a name="line.2422"></a>
-<span class="sourceLineNo">2423</span>    if (!MetaTableAccessor.tableExists(getConnection(), tableName)) {<a name="line.2423"></a>
-<span class="sourceLineNo">2424</span>      throw new TableNotFoundException(tableName);<a name="line.2424"></a>
-<span class="sourceLineNo">2425</span>    }<a name="line.2425"></a>
-<span class="sourceLineNo">2426</span>  }<a name="line.2426"></a>
-<span class="sourceLineNo">2427</span><a name="line.2427"></a>
-<span class="sourceLineNo">2428</span>  @Override<a name="line.2428"></a>
-<span class="sourceLineNo">2429</span>  public void checkTableModifiable(final TableName tableName)<a name="line.2429"></a>
-<span class="sourceLineNo">2430</span>      throws IOException, TableNotFoundException, TableNotDisabledException {<a name="line.2430"></a>
-<span class="sourceLineNo">2431</span>    if (isCatalogTable(tableName)) {<a name="line.2431"></a>
-<span class="sourceLineNo">2432</span>      throw new IOException("Can't modify catalog tables");<a name="line.2432"></a>
-<span class="sourceLineNo">2433</span>    }<a name="line.2433"></a>
-<span class="sourceLineNo">2434</span>    checkTableExists(tableName);<a name="line.2434"></a>
-<span class="sourceLineNo">2435</span>    TableState ts = getTableStateManager().getTableState(tableName);<a name="line.2435"></a>
-<span class="sourceLineNo">2436</span>    if (!ts.isDisabled()) {<a name="line.2436"></a>
-<span class="sourceLineNo">2437</span>      throw new TableNotDisabledException("Not DISABLED; " + ts);<a name="line.2437"></a>
-<span class="sourceLineNo">2438</span>    }<a name="line.2438"></a>
-<span class="sourceLineNo">2439</span>  }<a name="line.2439"></a>
-<span class="sourceLineNo">2440</span><a name="line.2440"></a>
-<span class="sourceLineNo">2441</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor() throws InterruptedIOException {<a name="line.2441"></a>
-<span class="sourceLineNo">2442</span>    return getClusterMetricsWithoutCoprocessor(EnumSet.allOf(Option.class));<a name="line.2442"></a>
-<span class="sourceLineNo">2443</span>  }<a name="line.2443"></a>
-<span class="sourceLineNo">2444</span><a name="line.2444"></a>
-<span class="sourceLineNo">2445</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor(EnumSet&lt;Option&gt; options)<a name="line.2445"></a>
-<span class="sourceLineNo">2446</span>      throws InterruptedIOException {<a name="line.2446"></a>
-<span class="sourceLineNo">2447</span>    ClusterMetricsBuilder builder = ClusterMetricsBuilder.newBuilder();<a name="line.2447"></a>
-<span class="sourceLineNo">2448</span>    // given that hbase1 can't submit the request with Option,<a name="line.2448"></a>
-<span class="sourceLineNo">2449</span>    // we return all information to client if the list of Option is empty.<a name="line.2449"></a>
-<span class="sourceLineNo">2450</span>    if (options.isEmpty()) {<a name="line.2450"></a>
-<span class="sourceLineNo">2451</span>      options = EnumSet.allOf(Option.class);<a name="line.2451"></a>
-<span class="sourceLineNo">2452</span>    }<a name="line.2452"></a>
-<span class="sourceLineNo">2453</span><a name="line.2453"></a>
-<span class="sourceLineNo">2454</span>    for (Option opt : options) {<a name="line.2454"></a>
-<span class="sourceLineNo">2455</span>      switch (opt) {<a name="line.2455"></a>
-<span class="sourceLineNo">2456</span>        case HBASE_VERSION: builder.setHBaseVersion(VersionInfo.getVersion()); break;<a name="line.2456"></a>
-<span class="sourceLineNo">2457</span>        case CLUSTER_ID: builder.setClusterId(getClusterId()); break;<a name="line.2457"></a>
-<span class="sourceLineNo">2458</span>        case MASTER: builder.setMasterName(getServerName()); break;<a name="line.2458"></a>
-<span class="sourceLineNo">2459</span>        case BACKUP_MASTERS: builder.setBackerMasterNames(getBackupMasters()); break;<a name="line.2459"></a>
-<span class="sourceLineNo">2460</span>        case LIVE_SERVERS: {<a name="line.2460"></a>
-<span class="sourceLineNo">2461</span>          if (serverManager != null) {<a name="line.2461"></a>
-<span class="sourceLineNo">2462</span>            builder.setLiveServerMetrics(serverManager.getOnlineServers().entrySet().stream()<a name="line.2462"></a>
-<span class="sourceLineNo">2463</span>              .collect(Collectors.toMap(e -&gt; e.getKey(), e -&gt; e.getValue())));<a name="line.2463"></a>
-<span class="sourceLineNo">2464</span>          }<a name="line.2464"></a>
-<span class="sourceLineNo">2465</span>          break;<a name="line.2465"></a>
-<span class="sourceLineNo">2466</span>        }<a name="line.2466"></a>
-<span class="sourceLineNo">2467</span>        case DEAD_SERVERS: {<a name="line.2467"></a>
-<span class="sourceLineNo">2468</span>          if (serverManager != null) {<a name="line.2468"></a>
-<span class="sourceLineNo">2469</span>            builder.setDeadServerNames(new ArrayList&lt;&gt;(<a name="line.2469"></a>
-<span class="sourceLineNo">2470</span>              serverManager.getDeadServers().copyServerNames()));<a name="line.2470"></a>
-<span class="sourceLineNo">2471</span>          }<a name="line.2471"></a>
-<span class="sourceLineNo">2472</span>          break;<a name="line.2472"></a>
-<span class="sourceLineNo">2473</span>        }<a name="line.2473"></a>
-<span class="sourceLineNo">2474</span>        case MASTER_COPROCESSORS: {<a name="line.2474"></a>
-<span class="sourceLineNo">2475</span>          if (cpHost != null) {<a name="line.2475"></a>
-<span class="sourceLineNo">2476</span>            builder.setMasterCoprocessorNames(Arrays.asList(getMasterCoprocessors()));<a name="line.2476"></a>
-<span class="sourceLineNo">2477</span>          }<a name="line.2477"></a>
-<span class="sourceLineNo">2478</span>          break;<a name="line.2478"></a>
-<span class="sourceLineNo">2479</span>        }<a name="line.2479"></a>
-<span class="sourceLineNo">2480</span>        case REGIONS_IN_TRANSITION: {<a name="line.2480"></a>
-<span class="sourceLineNo">2481</span>          if (assignmentManager != null) {<a name="line.2481"></a>
-<span class="sourceLineNo">2482</span>            builder.setRegionsInTransition(assignmentManager.getRegionStates()<a name="line.2482"></a>
-<span class="sourceLineNo">2483</span>                .getRegionsStateInTransition());<a name="line.2483"></a>
-<span class="sourceLineNo">2484</span>          }<a name="line.2484"></a>
-<span class="sourceLineNo">2485</span>          break;<a name="line.2485"></a>
-<span class="sourceLineNo">2486</span>        }<a name="line.2486"></a>
-<span class="sourceLineNo">2487</span>        case BALANCER_ON: {<a name="line.2487"></a>
-<span class="sourceLineNo">2488</span>          if (loadBalancerTracker != null) {<a name="line.2488"></a>
-<span class="sourceLineNo">2489</span>            builder.setBalancerOn(loadBalancerTracker.isBalancerOn());<a name="line.2489"></a>
-<span class="sourceLineNo">2490</span>          }<a name="line.2490"></a>
-<span class="sourceLineNo">2491</span>          break;<a name="line.2491"></a>
-<span class="sourceLineNo">2492</span>        }<a name="line.2492"></a>
-<span class="sourceLineNo">2493</span>        case MASTER_INFO_PORT: {<a name="line.2493"></a>
-<span class="sourceLineNo">2494</span>          if (infoServer != null) {<a name="line.2494"></a>
-<span class="sourceLineNo">2495</span>            builder.setMasterInfoPort(infoServer.getPort());<a name="line.2495"></a>
-<span class="sourceLineNo">2496</span>          }<a name="line.2496"></a>
-<span class="sourceLineNo">2497</span>          break;<a name="line.2497"></a>
-<span class="sourceLineNo">2498</span>        }<a name="line.2498"></a>
-<span class="sourceLineNo">2499</span>      }<a name="line.2499"></a>
-<span class="sourceLineNo">2500</span>    }<a name="line.2500"></a>
-<span class="sourceLineNo">2501</span>    return builder.build();<a name="line.2501"></a>
-<span class="sourceLineNo">2502</span>  }<a name="line.2502"></a>
-<span class="sourceLineNo">2503</span><a name="line.2503"></a>
-<span class="sourceLineNo">2504</span>  /**<a name="line.2504"></a>
-<span class="sourceLineNo">2505</span>   * @return cluster status<a name="line.2505"></a>
-<span class="sourceLineNo">2506</span>   */<a name="line.2506"></a>
-<span class="sourceLineNo">2507</span>  public ClusterMetrics getClusterMetrics() throws IOException {<a name="line.2507"></a>
-<span class="sourceLineNo">2508</span>    return getClusterMetrics(EnumSet.allOf(Option.class));<a name="line.2508"></a>
-<span class="sourceLineNo">2509</span>  }<a name="line.2509"></a>
-<span class="sourceLineNo">2510</span><a name="line.2510"></a>
-<span class="sourceLineNo">2511</span>  public ClusterMetrics getClusterMetrics(EnumSet&lt;Option&gt; options) throws IOException {<a name="line.2511"></a>
-<span class="sourceLineNo">2512</span>    if (cpHost != null) {<a name="line.2512"></a>
-<span class="sourceLineNo">2513</span>      cpHost.preGetClusterMetrics();<a name="line.2513"></a>
-<span class="sourceLineNo">2514</span>    }<a name="line.2514"></a>
-<span class="sourceLineNo">2515</span>    ClusterMetrics status = getClusterMetricsWithoutCoprocessor(options);<a name="line.2515"></a>
-<span class="sourceLineNo">2516</span>    if (cpHost != null) {<a name="line.2516"></a>
-<span class="sourceLineNo">2517</span>      cpHost.postGetClusterMetrics(status);<a name="line.2517"></a>
-<span class="sourceLineNo">2518</span>    }<a name="line.2518"></a>
-<span class="sourceLineNo">2519</span>    return status;<a name="line.2519"></a>
-<span class="sourceLineNo">2520</span>  }<a name="line.2520"></a>
-<span class="sourceLineNo">2521</span><a name="line.2521"></a>
-<span class="sourceLineNo">2522</span>  private List&lt;ServerName&gt; getBackupMasters() throws InterruptedIOException {<a name="line.2522"></a>
-<span class="sourceLineNo">2523</span>    // Build Set of backup masters from ZK nodes<a name="line.2523"></a>
-<span class="sourceLineNo">2524</span>    List&lt;String&gt; backupMasterStrings;<a name="line.2524"></a>
-<span class="sourceLineNo">2525</span>    try {<a name="line.2525"></a>
-<span class="sourceLineNo">2526</span>      backupMasterStrings = ZKUtil.listChildrenNoWatch(this.zooKeeper,<a name="line.2526"></a>
-<span class="sourceLineNo">2527</span>        this.zooKeeper.znodePaths.backupMasterAddressesZNode);<a name="line.2527"></a>
-<span class="sourceLineNo">2528</span>    } catch (KeeperException e) {<a name="line.2528"></a>
-<span class="sourceLineNo">2529</span>      LOG.warn(this.zooKeeper.prefix("Unable to list backup servers"), e);<a name="line.2529"></a>
-<span class="sourceLineNo">2530</span>      backupMasterStrings = null;<a name="line.2530"></a>
-<span class="sourceLineNo">2531</span>    }<a name="line.2531"></a>
-<span class="sourceLineNo">2532</span><a name="line.2532"></a>
-<span class="sourceLineNo">2533</span>    List&lt;ServerName&gt; backupMasters = Collections.emptyList();<a name="line.2533"></a>
-<span class="sourceLineNo">2534</span>    if (backupMasterStrings != null &amp;&amp; !backupMasterStrings.isEmpty()) {<a name="line.2534"></a>
-<span class="sourceLineNo">2535</span>      backupMasters = new ArrayList&lt;&gt;(backupMasterStrings.size());<a name="line.2535"></a>
-<span class="sourceLineNo">2536</span>      for (String s: backupMasterStrings) {<a name="line.2536"></a>
-<span class="sourceLineNo">2537</span>        try {<a name="line.2537"></a>
-<span class="sourceLineNo">2538</span>          byte [] bytes;<a name="line.2538"></a>
-<span class="sourceLineNo">2539</span>          try {<a name="line.2539"></a>
-<span class="sourceLineNo">2540</span>            bytes = ZKUtil.getData(this.zooKeeper, ZNodePaths.joinZNode(<a name="line.2540"></a>
-<span class="sourceLineNo">2541</span>                this.zooKeeper.znodePaths.backupMasterAddressesZNode, s));<a name="line.2541"></a>
-<span class="sourceLineNo">2542</span>          } catch (InterruptedException e) {<a name="line.2542"></a>
-<span class="sourceLineNo">2543</span>            throw new InterruptedIOException();<a name="line.2543"></a>
-<span class="sourceLineNo">2544</span>          }<a name="line.2544"></a>
-<span class="sourceLineNo">2545</span>          if (bytes != null) {<a name="line.2545"></a>
-<span class="sourceLineNo">2546</span>            ServerName sn;<a name="line.2546"></a>
-<span class="sourceLineNo">2547</span>            try {<a name="line.2547"></a>
-<span class="sourceLineNo">2548</span>              sn = ProtobufUtil.parseServerNameFrom(bytes);<a name="line.2548"></a>
-<span class="sourceLineNo">2549</span>            } catch (DeserializationException e) {<a name="line.2549"></a>
-<span class="sourceLineNo">2550</span>              LOG.warn("Failed parse, skipping registering backup server", e);<a name="line.2550"></a>
-<span class="sourceLineNo">2551</span>              continue;<a name="line.2551"></a>
-<span class="sourceLineNo">2552</span>            }<a name="line.2552"></a>
-<span class="sourceLineNo">2553</span>            backupMasters.add(sn);<a name="line.2553"></a>
-<span class="sourceLineNo">2554</span>          }<a name="line.2554"></a>
-<span class="sourceLineNo">2555</span>        } catch (KeeperException e) {<a name="line.2555"></a>
-<span class="sourceLineNo">2556</span>          LOG.warn(this.zooKeeper.prefix("Unable to get information about " +<a name="line.2556"></a>
-<span class="sourceLineNo">2557</span>                   "backup servers"), e);<a name="line.2557"></a>
-<span class="sourceLineNo">2558</span>        }<a name="line.2558"></a>
-<span class="sourceLineNo">2559</span>      }<a name="line.2559"></a>
-<span class="sourceLineNo">2560</span>      Collections.sort(backupMasters, new Comparator&lt;ServerName&gt;() {<a name="line.2560"></a>
-<span class="sourceLineNo">2561</span>        @Override<a name="line.2561"></a>
-<span class="sourceLineNo">2562</span>        public int compare(ServerName s1, ServerName s2) {<a name="line.2562"></a>
-<span class="sourceLineNo">2563</span>          return s1.getServerName().compareTo(s2.getServerName());<a name="line.2563"></a>
-<span class="sourceLineNo">2564</span>        }});<a name="line.2564"></a>
-<span class="sourceLineNo">2565</span>    }<a name="line.2565"></a>
-<span class="sourceLineNo">2566</span>    return backupMasters;<a name="line.2566"></a>
-<span class="sourceLineNo">2567</span>  }<a name="line.2567"></a>
-<span class="sourceLineNo">2568</span><a name="line.2568"></a>
-<span class="sourceLineNo">2569</span>  /**<a name="line.2569"></a>
-<span class="sourceLineNo">2570</span>   * The set of loaded coprocessors is stored in a static set. Since it's<a name="line.2570"></a>
-<span class="sourceLineNo">2571</span>   * statically allocated, it does not require that HMaster's cpHost be<a name="line.2571"></a>
-<span class="sourceLineNo">2572</span>   * initialized prior to accessing it.<a name="line.2572"></a>
-<span class="sourceLineNo">2573</span>   * @return a String representation of the set of names of the loaded coprocessors.<a name="line.2573"></a>
-<span class="sourceLineNo">2574</span>   */<a name="line.2574"></a>
-<span class="sourceLineNo">2575</span>  public static String getLoadedCoprocessors() {<a name="line.2575"></a>
-<span class="sourceLineNo">2576</span>    return CoprocessorHost.getLoadedCoprocessors().toString();<a name="line.2576"></a>
-<span class="sourceLineNo">2577</span>  }<a name="line.2577"></a>
-<span class="sourceLineNo">2578</span><a name="line.2578"></a>
-<span class="sourceLineNo">2579</span>  /**<a name="line.2579"></a>
-<span class="sourceLineNo">2580</span>   * @return timestamp in millis when HMaster was started.<a name="line.2580"></a>
-<span class="sourceLineNo">2581</span>   */<a name="line.2581"></a>
-<span class="sourceLineNo">2582</span>  public long getMasterStartTime() {<a name="line.2582"></a>
-<span class="sourceLineNo">2583</span>    return startcode;<a name="line.2583"></a>
-<span class="sourceLineNo">2584</span>  }<a name="line.2584"></a>
-<span class="sourceLineNo">2585</span><a name="line.2585"></a>
-<span class="sourceLineNo">2586</span>  /**<a name="line.2586"></a>
-<span class="sourceLineNo">2587</span>   * @return timestamp in millis when HMaster became the active master.<a name="line.2587"></a>
-<span class="sourceLineNo">2588</span>   */<a name="line.2588"></a>
-<span class="sourceLineNo">2589</span>  public long getMasterActiveTime() {<a name="line.2589"></a>
-<span class="sourceLineNo">2590</span>    return masterActiveTime;<a name="line.2590"></a>
-<span class="sourceLineNo">2591</span>  }<a name="line.2591"></a>
-<span class="sourceLineNo">2592</span><a name="line.2592"></a>
-<span class="sourceLineNo">2593</span>  /**<a name="line.2593"></a>
-<span class="sourceLineNo">2594</span>   * @return timestamp in millis when HMaster finished becoming the active master<a name="line.2594"></a>
-<span class="sourceLineNo">2595</span>   */<a name="line.2595"></a>
-<span class="sourceLineNo">2596</span>  public long getMasterFinishedInitializationTime() {<a name="line.2596"></a>
-<span class="sourceLineNo">2597</span>    return masterFinishedInitializationTime;<a name="line.2597"></a>
-<span class="sourceLineNo">2598</span>  }<a name="line.2598"></a>
-<span class="sourceLineNo">2599</span><a name="line.2599"></a>
-<span class="sourceLineNo">2600</span>  public int getNumWALFiles() {<a name="line.2600"></a>
-<span class="sourceLineNo">2601</span>    return procedureStore != null ? procedureStore.getActiveLogs().size() : 0;<a name="line.2601"></a>
-<span class="sourceLineNo">2602</span>  }<a name="line.2602"></a>
-<span class="sourceLineNo">2603</span><a name="line.2603"></a>
-<span class="sourceLineNo">2604</span>  public WALProcedureStore getWalProcedureStore() {<a name="line.2604"></a>
-<span class="sourceLineNo">2605</span>    return procedureStore;<a name="line.2605"></a>
-<span class="sourceLineNo">2606</span>  }<a name="line.2606"></a>
-<span class="sourceLineNo">2607</span><a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>  public int getRegionServerInfoPort(final ServerName sn) {<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2609"></a>
-<span class="sourceLineNo">2610</span>    if (info == null || info.getInfoPort() == 0) {<a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>      return conf.getInt(HConstants.REGIONSERVER_INFO_PORT,<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>        HConstants.DEFAULT_REGIONSERVER_INFOPORT);<a name="line.2612"></a>
-<span class="sourceLineNo">2613</span>    }<a name="line.2613"></a>
-<span class="sourceLineNo">2614</span>    return info.getInfoPort();<a name="line.2614"></a>
-<span class="sourceLineNo">2615</span>  }<a name="line.2615"></a>
-<span class="sourceLineNo">2616</span><a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>  @Override<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>  public String getRegionServerVersion(final ServerName sn) {<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>    if (info != null &amp;&amp; info.hasVersionInfo()) {<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span>      return info.getVersionInfo().getVersion();<a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>    }<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>    return "0.0.0"; //Lowest version to prevent move system region to unknown version RS.<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span>  }<a name="line.2624"></a>
-<span class="sourceLineNo">2625</span><a name="line.2625"></a>
-<span class="sourceLineNo">2626</span>  @Override<a name="line.2626"></a>
-<span class="sourceLineNo">2627</span>  public void checkIfShouldMoveSystemRegionAsync() {<a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>    assignmentManager.checkIfShouldMoveSystemRegionAsync();<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span>  }<a name="line.2629"></a>
-<span class="sourceLineNo">2630</span><a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>  /**<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span>   * @return array of coprocessor SimpleNames.<a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>   */<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span>  public String[] getMasterCoprocessors() {<a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>    Set&lt;String&gt; masterCoprocessors = getMasterCoprocessorHost().getCoprocessors();<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>    return masterCoprocessors.toArray(new String[masterCoprocessors.size()]);<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>  }<a name="line.2637"></a>
-<span class="sourceLineNo">2638</span><a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>  @Override<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span>  public void abort(String reason, Throwable cause) {<a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>    if (isAborted() || isStopped()) {<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>      return;<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>    }<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span>    if (cpHost != null) {<a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>      // HBASE-4014: dump a list of loaded coprocessors.<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>      LOG.error(HBaseMarkers.FATAL, "Master server abort: loaded coprocessors are: " +<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>          getLoadedCoprocessors());<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>    }<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>    String msg = "***** ABORTING master " + this + ": " + reason + " *****";<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span>    if (cause != null) {<a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>      LOG.error(HBaseMarkers.FATAL, msg, cause);<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span>    } else {<a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>      LOG.error(HBaseMarkers.FATAL, msg);<a name="line.2653"></a>
-<span class="sourceLineNo">2654</span>    }<a name="line.2654"></a>
-<span class="sourceLineNo">2655</span><a name="line.2655"></a>
-<span class="sourceLineNo">2656</span>    try {<a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>      stopMaster();<a name="line.2657"></a>
-<span class="sourceLineNo">2658</span>    } catch (IOException e) {<a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>      LOG.error("Exception occurred while stopping master", e);<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span>    }<a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>  }<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span><a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>  @Override<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>  public ZKWatcher getZooKeeper() {<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>    return zooKeeper;<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>  }<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span><a name="line.2667"></a>
-<span class="sourceLineNo">2668</span>  @Override<a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>    return cpHost;<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>  }<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span><a name="line.2672"></a>
-<span class="sourceLineNo">2673</span>  @Override<a name="line.2673"></a>
-<span class="sourceLineNo">2674</span>  public MasterQuotaManager getMasterQuotaManager() {<a name="line.2674"></a>
-<span class="sourceLineNo">2675</span>    return quotaManager;<a name="line.2675"></a>
-<span class="sourceLineNo">2676</span>  }<a name="line.2676"></a>
-<span class="sourceLineNo">2677</span><a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>  @Override<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>  public ProcedureExecutor&lt;MasterProcedureEnv&gt; getMasterProcedureExecutor() {<a name="line.2679"></a>
-<span class="sourceLineNo">2680</span>    return procedureExecutor;<a name="line.2680"></a>
-<span class="sourceLineNo">2681</span>  }<a name="line.2681"></a>
-<span class="sourceLineNo">2682</span><a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>  @Override<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span>  public ServerName getServerName() {<a name="line.2684"></a>
-<span class="sourceLineNo">2685</span>    return this.serverName;<a name="line.2685"></a>
-<span class="sourceLineNo">2686</span>  }<a name="line.2686"></a>
-<span class="sourceLineNo">2687</span><a name="line.2687"></a>
-<span class="sourceLineNo">2688</span>  @Override<a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>  public AssignmentManager getAssignmentManager() {<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>    return this.assignmentManager;<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>  }<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span><a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>  @Override<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>  public CatalogJanitor getCatalogJanitor() {<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span>    return this.catalogJanitorChore;<a name="line.2695"></a>
-<span class="sourceLineNo">2696</span>  }<a name="line.2696"></a>
-<span class="sourceLineNo">2697</span><a name="line.2697"></a>
-<span class="sourceLineNo">2698</span>  public MemoryBoundedLogMessageBuffer getRegionServerFatalLogBuffer() {<a name="line.2698"></a>
-<span class="sourceLineNo">2699</span>    return rsFatals;<a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>  }<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span><a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>  /**<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>   * Shutdown the cluster.<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span>   * Master runs a coordinated stop of all RegionServers and then itself.<a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>   */<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span>  public void shutdown() throws IOException {<a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>    if (cpHost != null) {<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>      cpHost.preShutdown();<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>    }<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>    // Tell the servermanager cluster shutdown has been called. This makes it so when Master is<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span>    // last running server, it'll stop itself. Next, we broadcast the cluster shutdown by setting<a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>    // the cluster status as down. RegionServers will notice this change in state and will start<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>    // shutting themselves down. When last has exited, Master can go down.<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>    if (this.serverManager != null) {<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span>      this.serverManager.shutdownCluster();<a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>    }<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span>    if (this.clusterStatusTracker != null) {<a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>      try {<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span>        this.clusterStatusTracker.setClusterDown();<a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>      } catch (KeeperException e) {<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>        LOG.error("ZooKeeper exception trying to set cluster as down in ZK", e);<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>      }<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span>    }<a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>    // Stop the procedure executor. Will stop any ongoing assign, unassign, server crash etc.,<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span>    // processing so we can go down.<a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>    if (this.procedureExecutor != null) {<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span>      this.procedureExecutor.stop();<a name="line.2727"></a>
-<span class="sourceLineNo">2728</span>    }<a name="line.2728"></a>
-<span class="sourceLineNo">2729</span>    // Shutdown our cluster connection. This will kill any hosted RPCs that might be going on;<a name="line.2729"></a>
-<span class="sourceLineNo">2730</span>    // this is what we want especially if the Master is in startup phase doing call outs to<a name="line.2730"></a>
-<span class="sourceLineNo">2731</span>    // hbase:meta, etc. when cluster is down. Without ths connection close, we'd have to wait on<a name="line.2731"></a>
-<span class="sourceLineNo">2732</span>    // the rpc to timeout.<a name="line.2732"></a>
-<span class="sourceLineNo">2733</span>    if (this.clusterConnection != null) {<a name="line.2733"></a>
-<span class="sourceLineNo">2734</span>      this.clusterConnection.close();<a name="line.2734"></a>
-<span class="sourceLineNo">2735</span>    }<a name="line.2735"></a>
-<span class="sourceLineNo">2736</span>  }<a name="line.2736"></a>
-<span class="sourceLineNo">2737</span><a name="line.2737"></a>
-<span class="sourceLineNo">2738</span>  public void stopMaster() throws IOException {<a name="line.2738"></a>
-<span class="sourceLineNo">2739</span>    if (cpHost != null) {<a name="line.2739"></a>
-<span class="sourceLineNo">2740</span>      cpHost.preStopMaster();<a name="line.2740"></a>
-<span class="sourceLineNo">2741</span>    }<a name="line.2741"></a>
-<span class="sourceLineNo">2742</span>    stop("Stopped by " + Thread.currentThread().getName());<a name="line.2742"></a>
-<span class="sourceLineNo">2743</span>  }<a name="line.2743"></a>
-<span class="sourceLineNo">2744</span><a name="line.2744"></a>
-<span class="sourceLineNo">2745</span>  @Override<a name="line.2745"></a>
-<span class="sourceLineNo">2746</span>  public void stop(String msg) {<a name="line.2746"></a>
-<span class="sourceLineNo">2747</span>    if (!isStopped()) {<a name="line.2747"></a>
-<span class="sourceLineNo">2748</span>      super.stop(msg);<a name="line.2748"></a>
-<span class="sourceLineNo">2749</span>      if (this.activeMasterManager != null) {<a name="line.2749"></a>
-<span class="sourceLineNo">2750</span>        this.activeMasterManager.stop();<a name="line.2750"></a>
-<span class="sourceLineNo">2751</span>      }<a name="line.2751"></a>
-<span class="sourceLineNo">2752</span>    }<a name="line.2752"></a>
-<span class="sourceLineNo">2753</span>  }<a name="line.2753"></a>
-<span class="sourceLineNo">2754</span><a name="line.2754"></a>
-<span class="sourceLineNo">2755</span>  void checkServiceStarted() throws ServerNotRunningYetException {<a name="line.2755"></a>
-<span class="sourceLineNo">2756</span>    if (!serviceStarted) {<a name="line.2756"></a>
-<span class="sourceLineNo">2757</span>      throw new ServerNotRunningYetException("Server is not running yet");<a name="line.2757"></a>
-<span class="sourceLineNo">2758</span>    }<a name="line.2758"></a>
-<span class="sourceLineNo">2759</span>  }<a name="line.2759"></a>
-<span class="sourceLineNo">2760</span><a name="line.2760"></a>
-<span class="sourceLineNo">2761</span>  public static class MasterStoppedException extends DoNotRetryIOException {<a name="line.2761"></a>
-<span class="sourceLineNo">2762</span>    MasterStoppedException() {<a name="line.2762"></a>
-<span class="sourceLineNo">2763</span>      super();<a name="line.2763"></a>
-<span class="sourceLineNo">2764</span>    }<a name="line.2764"></a>
-<span class="sourceLineNo">2765</span>  }<a name="line.2765"></a>
-<span class="sourceLineNo">2766</span><a name="line.2766"></a>
-<span class="sourceLineNo">2767</span>  void checkInitialized() throws PleaseHoldException, ServerNotRunningYetException,<a name="line.2767"></a>
-<span class="sourceLineNo">2768</span>      MasterNotRunningException, MasterStoppedException {<a name="line.2768"></a>
-<span class="sourceLineNo">2769</span>    checkServiceStarted();<a name="line.2769"></a>
-<span class="sourceLineNo">2770</span>    if (!isInitialized()) {<a name="line.2770"></a>
-<span class="sourceLineNo">2771</span>      throw new PleaseHoldException("Master is initializing");<a name="line.2771"></a>
-<span class="sourceLineNo">2772</span>    }<a name="line.2772"></a>
-<span class="sourceLineNo">2773</span>    if (isStopped()) {<a name="line.2773"></a>
-<span class="sourceLineNo">2774</span>      throw new MasterStoppedException();<a name="line.2774"></a>
+<span class="sourceLineNo">2378</span>        LOG.info(getClientIdAuditPrefix() + " modify " + tableName);<a name="line.2378"></a>
+<span class="sourceLineNo">2379</span><a name="line.2379"></a>
+<span class="sourceLineNo">2380</span>        // Execute the operation synchronously - wait for the operation completes before continuing.<a name="line.2380"></a>
+<span class="sourceLineNo">2381</span>        //<a name="line.2381"></a>
+<span class="sourceLineNo">2382</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2382"></a>
+<span class="sourceLineNo">2383</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2383"></a>
+<span class="sourceLineNo">2384</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2384"></a>
+<span class="sourceLineNo">2385</span>        submitProcedure(<a name="line.2385"></a>
+<span class="sourceLineNo">2386</span>          new ModifyTableProcedure(procedureExecutor.getEnvironment(), newDescriptor, latch));<a name="line.2386"></a>
+<span class="sourceLineNo">2387</span>        latch.await();<a name="line.2387"></a>
+<span class="sourceLineNo">2388</span><a name="line.2388"></a>
+<span class="sourceLineNo">2389</span>        getMaster().getMasterCoprocessorHost()<a name="line.2389"></a>
+<span class="sourceLineNo">2390</span>          .postModifyTable(tableName, oldDescriptor, newDescriptor);<a name="line.2390"></a>
+<span class="sourceLineNo">2391</span>      }<a name="line.2391"></a>
+<span class="sourceLineNo">2392</span><a name="line.2392"></a>
+<span class="sourceLineNo">2393</span>      @Override<a name="line.2393"></a>
+<span class="sourceLineNo">2394</span>      protected String getDescription() {<a name="line.2394"></a>
+<span class="sourceLineNo">2395</span>        return "ModifyTableProcedure";<a name="line.2395"></a>
+<span class="sourceLineNo">2396</span>      }<a name="line.2396"></a>
+<span class="sourceLineNo">2397</span>    });<a name="line.2397"></a>
+<span class="sourceLineNo">2398</span>  }<a name="line.2398"></a>
+<span class="sourceLineNo">2399</span><a name="line.2399"></a>
+<span class="sourceLineNo">2400</span>  public long restoreSnapshot(final SnapshotDescription snapshotDesc,<a name="line.2400"></a>
+<span class="sourceLineNo">2401</span>      final long nonceGroup, final long nonce, final boolean restoreAcl) throws IOException {<a name="line.2401"></a>
+<span class="sourceLineNo">2402</span>    checkInitialized();<a name="line.2402"></a>
+<span class="sourceLineNo">2403</span>    getSnapshotManager().checkSnapshotSupport();<a name="line.2403"></a>
+<span class="sourceLineNo">2404</span><a name="line.2404"></a>
+<span class="sourceLineNo">2405</span>    // Ensure namespace exists. Will throw exception if non-known NS.<a name="line.2405"></a>
+<span class="sourceLineNo">2406</span>    final TableName dstTable = TableName.valueOf(snapshotDesc.getTable());<a name="line.2406"></a>
+<span class="sourceLineNo">2407</span>    getClusterSchema().getNamespace(dstTable.getNamespaceAsString());<a name="line.2407"></a>
+<span class="sourceLineNo">2408</span><a name="line.2408"></a>
+<span class="sourceLineNo">2409</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2409"></a>
+<span class="sourceLineNo">2410</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2410"></a>
+<span class="sourceLineNo">2411</span>      @Override<a name="line.2411"></a>
+<span class="sourceLineNo">2412</span>      protected void run() throws IOException {<a name="line.2412"></a>
+<span class="sourceLineNo">2413</span>          setProcId(<a name="line.2413"></a>
+<span class="sourceLineNo">2414</span>            getSnapshotManager().restoreOrCloneSnapshot(snapshotDesc, getNonceKey(), restoreAcl));<a name="line.2414"></a>
+<span class="sourceLineNo">2415</span>      }<a name="line.2415"></a>
+<span class="sourceLineNo">2416</span><a name="line.2416"></a>
+<span class="sourceLineNo">2417</span>      @Override<a name="line.2417"></a>
+<span class="sourceLineNo">2418</span>      protected String getDescription() {<a name="line.2418"></a>
+<span class="sourceLineNo">2419</span>        return "RestoreSnapshotProcedure";<a name="line.2419"></a>
+<span class="sourceLineNo">2420</span>      }<a name="line.2420"></a>
+<span class="sourceLineNo">2421</span>    });<a name="line.2421"></a>
+<span class="sourceLineNo">2422</span>  }<a name="line.2422"></a>
+<span class="sourceLineNo">2423</span><a name="line.2423"></a>
+<span class="sourceLineNo">2424</span>  private void checkTableExists(final TableName tableName)<a name="line.2424"></a>
+<span class="sourceLineNo">2425</span>      throws IOException, TableNotFoundException {<a name="line.2425"></a>
+<span class="sourceLineNo">2426</span>    if (!MetaTableAccessor.tableExists(getConnection(), tableName)) {<a name="line.2426"></a>
+<span class="sourceLineNo">2427</span>      throw new TableNotFoundException(tableName);<a name="line.2427"></a>
+<span class="sourceLineNo">2428</span>    }<a name="line.2428"></a>
+<span class="sourceLineNo">2429</span>  }<a name="line.2429"></a>
+<span class="sourceLineNo">2430</span><a name="line.2430"></a>
+<span class="sourceLineNo">2431</span>  @Override<a name="line.2431"></a>
+<span class="sourceLineNo">2432</span>  public void checkTableModifiable(final TableName tableName)<a name="line.2432"></a>
+<span class="sourceLineNo">2433</span>      throws IOException, TableNotFoundException, TableNotDisabledException {<a name="line.2433"></a>
+<span class="sourceLineNo">2434</span>    if (isCatalogTable(tableName)) {<a name="line.2434"></a>
+<span class="sourceLineNo">2435</span>      throw new IOException("Can't modify catalog tables");<a name="line.2435"></a>
+<span class="sourceLineNo">2436</span>    }<a name="line.2436"></a>
+<span class="sourceLineNo">2437</span>    checkTableExists(tableName);<a name="line.2437"></a>
+<span class="sourceLineNo">2438</span>    TableState ts = getTableStateManager().getTableState(tableName);<a name="line.2438"></a>
+<span class="sourceLineNo">2439</span>    if (!ts.isDisabled()) {<a name="line.2439"></a>
+<span class="sourceLineNo">2440</span>      throw new TableNotDisabledException("Not DISABLED; " + ts);<a name="line.2440"></a>
+<span class="sourceLineNo">2441</span>    }<a name="line.2441"></a>
+<span class="sourceLineNo">2442</span>  }<a name="line.2442"></a>
+<span class="sourceLineNo">2443</span><a name="line.2443"></a>
+<span class="sourceLineNo">2444</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor() throws InterruptedIOException {<a name="line.2444"></a>
+<span class="sourceLineNo">2445</span>    return getClusterMetricsWithoutCoprocessor(EnumSet.allOf(Option.class));<a name="line.2445"></a>
+<span class="sourceLineNo">2446</span>  }<a name="line.2446"></a>
+<span class="sourceLineNo">2447</span><a name="line.2447"></a>
+<span class="sourceLineNo">2448</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor(EnumSet&lt;Option&gt; options)<a name="line.2448"></a>
+<span class="sourceLineNo">2449</span>      throws InterruptedIOException {<a name="line.2449"></a>
+<span class="sourceLineNo">2450</span>    ClusterMetricsBuilder builder = ClusterMetricsBuilder.newBuilder();<a name="line.2450"></a>
+<span class="sourceLineNo">2451</span>    // given that hbase1 can't submit the request with Option,<a name="line.2451"></a>
+<span class="sourceLineNo">2452</span>    // we return all information to client if the list of Option is empty.<a name="line.2452"></a>
+<span class="sourceLineNo">2453</span>    if (options.isEmpty()) {<a name="line.2453"></a>
+<span class="sourceLineNo">2454</span>      options = EnumSet.allOf(Option.class);<a name="line.2454"></a>
+<span class="sourceLineNo">2455</span>    }<a name="line.2455"></a>
+<span class="sourceLineNo">2456</span><a name="line.2456"></a>
+<span class="sourceLineNo">2457</span>    for (Option opt : options) {<a name="line.2457"></a>
+<span class="sourceLineNo">2458</span>      switch (opt) {<a name="line.2458"></a>
+<span class="sourceLineNo">2459</span>        case HBASE_VERSION: builder.setHBaseVersion(VersionInfo.getVersion()); break;<a name="line.2459"></a>
+<span class="sourceLineNo">2460</span>        case CLUSTER_ID: builder.setClusterId(getClusterId()); break;<a name="line.2460"></a>
+<span class="sourceLineNo">2461</span>        case MASTER: builder.setMasterName(getServerName()); break;<a name="line.2461"></a>
+<span class="sourceLineNo">2462</span>        case BACKUP_MASTERS: builder.setBackerMasterNames(getBackupMasters()); break;<a name="line.2462"></a>
+<span class="sourceLineNo">2463</span>        case LIVE_SERVERS: {<a name="line.2463"></a>
+<span class="sourceLineNo">2464</span>          if (serverManager != null) {<a name="line.2464"></a>
+<span class="sourceLineNo">2465</span>            builder.setLiveServerMetrics(serverManager.getOnlineServers().entrySet().stream()<a name="line.2465"></a>
+<span class="sourceLineNo">2466</span>              .collect(Collectors.toMap(e -&gt; e.getKey(), e -&gt; e.getValue())));<a name="line.2466"></a>
+<span class="sourceLineNo">2467</span>          }<a name="line.2467"></a>
+<span class="sourceLineNo">2468</span>          break;<a name="line.2468"></a>
+<span class="sourceLineNo">2469</span>        }<a name="line.2469"></a>
+<span class="sourceLineNo">2470</span>        case DEAD_SERVERS: {<a name="line.2470"></a>
+<span class="sourceLineNo">2471</span>          if (serverManager != null) {<a name="line.2471"></a>
+<span class="sourceLineNo">2472</span>            builder.setDeadServerNames(new ArrayList&lt;&gt;(<a name="line.2472"></a>
+<span class="sourceLineNo">2473</span>              serverManager.getDeadServers().copyServerNames()));<a name="line.2473"></a>
+<span class="sourceLineNo">2474</span>          }<a name="line.2474"></a>
+<span class="sourceLineNo">2475</span>          break;<a name="line.2475"></a>
+<span class="sourceLineNo">2476</span>        }<a name="line.2476"></a>
+<span class="sourceLineNo">2477</span>        case MASTER_COPROCESSORS: {<a name="line.2477"></a>
+<span class="sourceLineNo">2478</span>          if (cpHost != null) {<a name="line.2478"></a>
+<span class="sourceLineNo">2479</span>            builder.setMasterCoprocessorNames(Arrays.asList(getMasterCoprocessors()));<a name="line.2479"></a>
+<span class="sourceLineNo">2480</span>          }<a name="line.2480"></a>
+<span class="sourceLineNo">2481</span>          break;<a name="line.2481"></a>
+<span class="sourceLineNo">2482</span>        }<a name="line.2482"></a>
+<span class="sourceLineNo">2483</span>        case REGIONS_IN_TRANSITION: {<a name="line.2483"></a>
+<span class="sourceLineNo">2484</span>          if (assignmentManager != null) {<a name="line.2484"></a>
+<span class="sourceLineNo">2485</span>            builder.setRegionsInTransition(assignmentManager.getRegionStates()<a name="line.2485"></a>
+<span class="sourceLineNo">2486</span>                .getRegionsStateInTransition());<a name="line.2486"></a>
+<span class="sourceLineNo">2487</span>          }<a name="line.2487"></a>
+<span class="sourceLineNo">2488</span>          break;<a name="line.2488"></a>
+<span class="sourceLineNo">2489</span>        }<a name="line.2489"></a>
+<span class="sourceLineNo">2490</span>        case BALANCER_ON: {<a name="line.2490"></a>
+<span class="sourceLineNo">2491</span>          if (loadBalancerTracker != null) {<a name="line.2491"></a>
+<span class="sourceLineNo">2492</span>            builder.setBalancerOn(loadBalancerTracker.isBalancerOn());<a name="line.2492"></a>
+<span class="sourceLineNo">2493</span>          }<a name="line.2493"></a>
+<span class="sourceLineNo">2494</span>          break;<a name="line.2494"></a>
+<span class="sourceLineNo">2495</span>        }<a name="line.2495"></a>
+<span class="sourceLineNo">2496</span>        case MASTER_INFO_PORT: {<a name="line.2496"></a>
+<span class="sourceLineNo">2497</span>          if (infoServer != null) {<a name="line.2497"></a>
+<span class="sourceLineNo">2498</span>            builder.setMasterInfoPort(infoServer.getPort());<a name="line.2498"></a>
+<span class="sourceLineNo">2499</span>          }<a name="line.2499"></a>
+<span class="sourceLineNo">2500</span>          break;<a name="line.2500"></a>
+<span class="sourceLineNo">2501</span>        }<a name="line.2501"></a>
+<span class="sourceLineNo">2502</span>      }<a name="line.2502"></a>
+<span class="sourceLineNo">2503</span>    }<a name="line.2503"></a>
+<span class="sourceLineNo">2504</span>    return builder.build();<a name="line.2504"></a>
+<span class="sourceLineNo">2505</span>  }<a name="line.2505"></a>
+<span class="sourceLineNo">2506</span><a name="line.2506"></a>
+<span class="sourceLineNo">2507</span>  /**<a name="line.2507"></a>
+<span class="sourceLineNo">2508</span>   * @return cluster status<a name="line.2508"></a>
+<span class="sourceLineNo">2509</span>   */<a name="line.2509"></a>
+<span class="sourceLineNo">2510</span>  public ClusterMetrics getClusterMetrics() throws IOException {<a name="line.2510"></a>
+<span class="sourceLineNo">2511</span>    return getClusterMetrics(EnumSet.allOf(Option.class));<a name="line.2511"></a>
+<span class="sourceLineNo">2512</span>  }<a name="line.2512"></a>
+<span class="sourceLineNo">2513</span><a name="line.2513"></a>
+<span class="sourceLineNo">2514</span>  public ClusterMetrics getClusterMetrics(EnumSet&lt;Option&gt; options) throws IOException {<a name="line.2514"></a>
+<span class="sourceLineNo">2515</span>    if (cpHost != null) {<a name="line.2515"></a>
+<span class="sourceLineNo">2516</span>      cpHost.preGetClusterMetrics();<a name="line.2516"></a>
+<span class="sourceLineNo">2517</span>    }<a name="line.2517"></a>
+<span class="sourceLineNo">2518</span>    ClusterMetrics status = getClusterMetricsWithoutCoprocessor(options);<a name="line.2518"></a>
+<span class="sourceLineNo">2519</span>    if (cpHost != null) {<a name="line.2519"></a>
+<span class="sourceLineNo">2520</span>      cpHost.postGetClusterMetrics(status);<a name="line.2520"></a>
+<span class="sourceLineNo">2521</span>    }<a name="line.2521"></a>
+<span class="sourceLineNo">2522</span>    return status;<a name="line.2522"></a>
+<span class="sourceLineNo">2523</span>  }<a name="line.2523"></a>
+<span class="sourceLineNo">2524</span><a name="line.2524"></a>
+<span class="sourceLineNo">2525</span>  private List&lt;ServerName&gt; getBackupMasters() throws InterruptedIOException {<a name="line.2525"></a>
+<span class="sourceLineNo">2526</span>    // Build Set of backup masters from ZK nodes<a name="line.2526"></a>
+<span class="sourceLineNo">2527</span>    List&lt;String&gt; backupMasterStrings;<a name="line.2527"></a>
+<span class="sourceLineNo">2528</span>    try {<a name="line.2528"></a>
+<span class="sourceLineNo">2529</span>      backupMasterStrings = ZKUtil.listChildrenNoWatch(this.zooKeeper,<a name="line.2529"></a>
+<span class="sourceLineNo">2530</span>        this.zooKeeper.znodePaths.backupMasterAddressesZNode);<a name="line.2530"></a>
+<span class="sourceLineNo">2531</span>    } catch (KeeperException e) {<a name="line.2531"></a>
+<span class="sourceLineNo">2532</span>      LOG.warn(this.zooKeeper.prefix("Unable to list backup servers"), e);<a name="line.2532"></a>
+<span class="sourceLineNo">2533</span>      backupMasterStrings = null;<a name="line.2533"></a>
+<span class="sourceLineNo">2534</span>    }<a name="line.2534"></a>
+<span class="sourceLineNo">2535</span><a name="line.2535"></a>
+<span class="sourceLineNo">2536</span>    List&lt;ServerName&gt; backupMasters = Collections.emptyList();<a name="line.2536"></a>
+<span class="sourceLineNo">2537</span>    if (backupMasterStrings != null &amp;&amp; !backupMasterStrings.isEmpty()) {<a name="line.2537"></a>
+<span class="sourceLineNo">2538</span>      backupMasters = new ArrayList&lt;&gt;(backupMasterStrings.size());<a name="line.2538"></a>
+<span class="sourceLineNo">2539</span>      for (String s: backupMasterStrings) {<a name="line.2539"></a>
+<span class="sourceLineNo">2540</span>        try {<a name="line.2540"></a>
+<span class="sourceLineNo">2541</span>          byte [] bytes;<a name="line.2541"></a>
+<span class="sourceLineNo">2542</span>          try {<a name="line.2542"></a>
+<span class="sourceLineNo">2543</span>            bytes = ZKUtil.getData(this.zooKeeper, ZNodePaths.joinZNode(<a name="line.2543"></a>
+<span class="sourceLineNo">2544</span>                this.zooKeeper.znodePaths.backupMasterAddressesZNode, s));<a name="line.2544"></a>
+<span class="sourceLineNo">2545</span>          } catch (InterruptedException e) {<a name="line.2545"></a>
+<span class="sourceLineNo">2546</span>            throw new InterruptedIOException();<a name="line.2546"></a>
+<span class="sourceLineNo">2547</span>          }<a name="line.2547"></a>
+<span class="sourceLineNo">2548</span>          if (bytes != null) {<a name="line.2548"></a>
+<span class="sourceLineNo">2549</span>            ServerName sn;<a name="line.2549"></a>
+<span class="sourceLineNo">2550</span>            try {<a name="line.2550"></a>
+<span class="sourceLineNo">2551</span>              sn = ProtobufUtil.parseServerNameFrom(bytes);<a name="line.2551"></a>
+<span class="sourceLineNo">2552</span>            } catch (DeserializationException e) {<a name="line.2552"></a>
+<span class="sourceLineNo">2553</span>              LOG.warn("Failed parse, skipping registering backup server", e);<a name="line.2553"></a>
+<span class="sourceLineNo">2554</span>              continue;<a name="line.2554"></a>
+<span class="sourceLineNo">2555</span>            }<a name="line.2555"></a>
+<span class="sourceLineNo">2556</span>            backupMasters.add(sn);<a name="line.2556"></a>
+<span class="sourceLineNo">2557</span>          }<a name="line.2557"></a>
+<span class="sourceLineNo">2558</span>        } catch (KeeperException e) {<a name="line.2558"></a>
+<span class="sourceLineNo">2559</span>          LOG.warn(this.zooKeeper.prefix("Unable to get information about " +<a name="line.2559"></a>
+<span class="sourceLineNo">2560</span>                   "backup servers"), e);<a name="line.2560"></a>
+<span class="sourceLineNo">2561</span>        }<a name="line.2561"></a>
+<span class="sourceLineNo">2562</span>      }<a name="line.2562"></a>
+<span class="sourceLineNo">2563</span>      Collections.sort(backupMasters, new Comparator&lt;ServerName&gt;() {<a name="line.2563"></a>
+<span class="sourceLineNo">2564</span>        @Override<a name="line.2564"></a>
+<span class="sourceLineNo">2565</span>        public int compare(ServerName s1, ServerName s2) {<a name="line.2565"></a>
+<span class="sourceLineNo">2566</span>          return s1.getServerName().compareTo(s2.getServerName());<a name="line.2566"></a>
+<span class="sourceLineNo">2567</span>        }});<a name="line.2567"></a>
+<span class="sourceLineNo">2568</span>    }<a name="line.2568"></a>
+<span class="sourceLineNo">2569</span>    return backupMasters;<a name="line.2569"></a>
+<span class="sourceLineNo">2570</span>  }<a name="line.2570"></a>
+<span class="sourceLineNo">2571</span><a name="line.2571"></a>
+<span class="sourceLineNo">2572</span>  /**<a name="line.2572"></a>
+<span class="sourceLineNo">2573</span>   * The set of loaded coprocessors is stored in a static set. Since it's<a name="line.2573"></a>
+<span class="sourceLineNo">2574</span>   * statically allocated, it does not require that HMaster's cpHost be<a name="line.2574"></a>
+<span class="sourceLineNo">2575</span>   * initialized prior to accessing it.<a name="line.2575"></a>
+<span class="sourceLineNo">2576</span>   * @return a String representation of the set of names of the loaded coprocessors.<a name="line.2576"></a>
+<span class="sourceLineNo">2577</span>   */<a name="line.2577"></a>
+<span class="sourceLineNo">2578</span>  public static String getLoadedCoprocessors() {<a name="line.2578"></a>
+<span class="sourceLineNo">2579</span>    return CoprocessorHost.getLoadedCoprocessors().toString();<a name="line.2579"></a>
+<span class="sourceLineNo">2580</span>  }<a name="line.2580"></a>
+<span class="sourceLineNo">2581</span><a name="line.2581"></a>
+<span class="sourceLineNo">2582</span>  /**<a name="line.2582"></a>
+<span class="sourceLineNo">2583</span>   * @return timestamp in millis when HMaster was started.<a name="line.2583"></a>
+<span class="sourceLineNo">2584</span>   */<a name="line.2584"></a>
+<span class="sourceLineNo">2585</span>  public long getMasterStartTime() {<a name="line.2585"></a>
+<span class="sourceLineNo">2586</span>    return startcode;<a name="line.2586"></a>
+<span class="sourceLineNo">2587</span>  }<a name="line.2587"></a>
+<span class="sourceLineNo">2588</span><a name="line.2588"></a>
+<span class="sourceLineNo">2589</span>  /**<a name="line.2589"></a>
+<span class="sourceLineNo">2590</span>   * @return timestamp in millis when HMaster became the active master.<a name="line.2590"></a>
+<span class="sourceLineNo">2591</span>   */<a name="line.2591"></a>
+<span class="sourceLineNo">2592</span>  public long getMasterActiveTime() {<a name="line.2592"></a>
+<span class="sourceLineNo">2593</span>    return masterActiveTime;<a name="line.2593"></a>
+<span class="sourceLineNo">2594</span>  }<a name="line.2594"></a>
+<span class="sourceLineNo">2595</span><a name="line.2595"></a>
+<span class="sourceLineNo">2596</span>  /**<a name="line.2596"></a>
+<span class="sourceLineNo">2597</span>   * @return timestamp in millis when HMaster finished becoming the active master<a name="line.2597"></a>
+<span class="sourceLineNo">2598</span>   */<a name="line.2598"></a>
+<span class="sourceLineNo">2599</span>  public long getMasterFinishedInitializationTime() {<a name="line.2599"></a>
+<span class="sourceLineNo">2600</span>    return masterFinishedInitializationTime;<a name="line.2600"></a>
+<span class="sourceLineNo">2601</span>  }<a name="line.2601"></a>
+<span class="sourceLineNo">2602</span><a name="line.2602"></a>
+<span class="sourceLineNo">2603</span>  public int getNumWALFiles() {<a name="line.2603"></a>
+<span class="sourceLineNo">2604</span>    return procedureStore != null ? procedureStore.getActiveLogs().size() : 0;<a name="line.2604"></a>
+<span class="sourceLineNo">2605</span>  }<a name="line.2605"></a>
+<span class="sourceLineNo">2606</span><a name="line.2606"></a>
+<span class="sourceLineNo">2607</span>  public WALProcedureStore getWalProcedureStore() {<a name="line.2607"></a>
+<span class="sourceLineNo">2608</span>    return procedureStore;<a name="line.2608"></a>
+<span class="sourceLineNo">2609</span>  }<a name="line.2609"></a>
+<span class="sourceLineNo">2610</span><a name="line.2610"></a>
+<span class="sourceLineNo">2611</span>  public int getRegionServerInfoPort(final ServerName sn) {<a name="line.2611"></a>
+<span class="sourceLineNo">2612</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2612"></a>
+<span class="sourceLineNo">2613</span>    if (info == null || info.getInfoPort() == 0) {<a name="line.2613"></a>
+<span class="sourceLineNo">2614</span>      return conf.getInt(HConstants.REGIONSERVER_INFO_PORT,<a name="line.2614"></a>
+<span class="sourceLineNo">2615</span>        HConstants.DEFAULT_REGIONSERVER_INFOPORT);<a name="line.2615"></a>
+<span class="sourceLineNo">2616</span>    }<a name="line.2616"></a>
+<span class="sourceLineNo">2617</span>    return info.getInfoPort();<a name="line.2617"></a>
+<span class="sourceLineNo">2618</span>  }<a name="line.2618"></a>
+<span class="sourceLineNo">2619</span><a name="line.2619"></a>
+<span class="sourceLineNo">2620</span>  @Override<a name="line.2620"></a>
+<span class="sourceLineNo">2621</span>  public String getRegionServerVersion(final ServerName sn) {<a name="line.2621"></a>
+<span class="sourceLineNo">2622</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2622"></a>
+<span class="sourceLineNo">2623</span>    if (info != null &amp;&amp; info.hasVersionInfo()) {<a name="line.2623"></a>
+<span class="sourceLineNo">2624</span>      return info.getVersionInfo().getVersion();<a name="line.2624"></a>
+<span class="sourceLineNo">2625</span>    }<a name="line.2625"></a>
+<span class="sourceLineNo">2626</span>    return "0.0.0"; //Lowest version to prevent move system region to unknown version RS.<a name="line.2626"></a>
+<span class="sourceLineNo">2627</span>  }<a name="line.2627"></a>
+<span class="sourceLineNo">2628</span><a name="line.2628"></a>
+<span class="sourceLineNo">2629</span>  @Override<a name="line.2629"></a>
+<span class="sourceLineNo">2630</span>  public void checkIfShouldMoveSystemRegionAsync() {<a name="line.2630"></a>
+<span class="sourceLineNo">2631</span>    assignmentManager.checkIfShouldMoveSystemRegionAsync();<a name="line.2631"></a>
+<span class="sourceLineNo">2632</span>  }<a name="line.2632"></a>
+<span class="sourceLineNo">2633</span><a name="line.2633"></a>
+<span class="sourceLineNo">2634</span>  /**<a name="line.2634"></a>
+<span class="sourceLineNo">2635</span>   * @return array of coprocessor SimpleNames.<a name="line.2635"></a>
+<span class="sourceLineNo">2636</span>   */<a name="line.2636"></a>
+<span class="sourceLineNo">2637</span>  public String[] getMasterCoprocessors() {<a name="line.2637"></a>
+<span class="sourceLineNo">2638</span>    Set&lt;String&gt; masterCoprocessors = getMasterCoprocessorHost().getCoprocessors();<a name="line.2638"></a>
+<span class="sourceLineNo">2639</span>    return masterCoprocessors.toArray(new String[masterCoprocessors.size()]);<a name="line.2639"></a>
+<span class="sourceLineNo">2640</span>  }<a name="line.2640"></a>
+<span class="sourceLineNo">2641</span><a name="line.2641"></a>
+<span class="sourceLineNo">2642</span>  @Override<a name="line.2642"></a>
+<span class="sourceLineNo">2643</span>  public void abort(String reason, Throwable cause) {<a name="line.2643"></a>
+<span class="sourceLineNo">2644</span>    if (isAborted() || isStopped()) {<a name="line.2644"></a>
+<span class="sourceLineNo">2645</span>      return;<a name="line.2645"></a>
+<span class="sourceLineNo">2646</span>    }<a name="line.2646"></a>
+<span class="sourceLineNo">2647</span>    if (cpHost != null) {<a name="line.2647"></a>
+<span class="sourceLineNo">2648</span>      // HBASE-4014: dump a list of loaded coprocessors.<a name="line.2648"></a>
+<span class="sourceLineNo">2649</span>      LOG.error(HBaseMarkers.FATAL, "Master server abort: loaded coprocessors are: " +<a name="line.2649"></a>
+<span class="sourceLineNo">2650</span>          getLoadedCoprocessors());<a name="line.2650"></a>
+<span class="sourceLineNo">2651</span>    }<a name="line.2651"></a>
+<span class="sourceLineNo">2652</span>    String msg = "***** ABORTING master " + this + ": " + reason + " *****";<a name="line.2652"></a>
+<span class="sourceLineNo">2653</span>    if (cause != null) {<a name="line.2653"></a>
+<span class="sourceLineNo">2654</span>      LOG.error(HBaseMarkers.FATAL, msg, cause);<a name="line.2654"></a>
+<span class="sourceLineNo">2655</span>    } else {<a name="line.2655"></a>
+<span class="sourceLineNo">2656</span>      LOG.error(HBaseMarkers.FATAL, msg);<a name="line.2656"></a>
+<span class="sourceLineNo">2657</span>    }<a name="line.2657"></a>
+<span class="sourceLineNo">2658</span><a name="line.2658"></a>
+<span class="sourceLineNo">2659</span>    try {<a name="line.2659"></a>
+<span class="sourceLineNo">2660</span>      stopMaster();<a name="line.2660"></a>
+<span class="sourceLineNo">2661</span>    } catch (IOException e) {<a name="line.2661"></a>
+<span class="sourceLineNo">2662</span>      LOG.error("Exception occurred while stopping master", e);<a name="line.2662"></a>
+<span class="sourceLineNo">2663</span>    }<a name="line.2663"></a>
+<span class="sourceLineNo">2664</span>  }<a name="line.2664"></a>
+<span class="sourceLineNo">2665</span><a name="line.2665"></a>
+<span class="sourceLineNo">2666</span>  @Override<a name="line.2666"></a>
+<span class="sourceLineNo">2667</span>  public ZKWatcher getZooKeeper() {<a name="line.2667"></a>
+<span class="sourceLineNo">2668</span>    return zooKeeper;<a name="line.2668"></a>
+<span class="sourceLineNo">2669</span>  }<a name="line.2669"></a>
+<span class="sourceLineNo">2670</span><a name="line.2670"></a>
+<span class="sourceLineNo">2671</span>  @Override<a name="line.2671"></a>
+<span class="sourceLineNo">2672</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.2672"></a>
+<span class="sourceLineNo">2673</span>    return cpHost;<a name="line.2673"></a>
+<span class="sourceLineNo">2674</span>  }<a name="line.2674"></a>
+<span class="sourceLineNo">2675</span><a name="line.2675"></a>
+<span class="sourceLineNo">2676</span>  @Override<a name="line.2676"></a>
+<span class="sourceLineNo">2677</span>  public MasterQuotaManager getMasterQuotaManager() {<a name="line.2677"></a>
+<span class="sourceLineNo">2678</span>    return quotaManager;<a name="line.2678"></a>
+<span class="sourceLineNo">2679</span>  }<a name="line.2679"></a>
+<span class="sourceLineNo">2680</span><a name="line.2680"></a>
+<span class="sourceLineNo">2681</span>  @Override<a name="line.2681"></a>
+<span class="sourceLineNo">2682</span>  public ProcedureExecutor&lt;MasterProcedureEnv&gt; getMasterProcedureExecutor() {<a name="line.2682"></a>
+<span class="sourceLineNo">2683</span>    return procedureExecutor;<a name="line.2683"></a>
+<span class="sourceLineNo">2684</span>  }<a name="line.2684"></a>
+<span class="sourceLineNo">2685</span><a name="line.2685"></a>
+<span class="sourceLineNo">2686</span>  @Override<a name="line.2686"></a>
+<span class="sourceLineNo">2687</span>  public ServerName getServerName() {<a name="line.2687"></a>
+<span class="sourceLineNo">2688</span>    return this.serverName;<a name="line.2688"></a>
+<span class="sourceLineNo">2689</span>  }<a name="line.2689"></a>
+<span class="sourceLineNo">2690</span><a name="line.2690"></a>
+<span class="sourceLineNo">2691</span>  @Override<a name="line.2691"></a>
+<span class="sourceLineNo">2692</span>  public AssignmentManager getAssignmentManager() {<a name="line.2692"></a>
+<span class="sourceLineNo">2693</span>    return this.assignmentManager;<a name="line.2693"></a>
+<span class="sourceLineNo">2694</span>  }<a name="line.2694"></a>
+<span class="sourceLineNo">2695</span><a name="line.2695"></a>
+<span class="sourceLineNo">2696</span>  @Override<a name="line.2696"></a>
+<span class="sourceLineNo">2697</span>  public CatalogJanitor getCatalogJanitor() {<a name="line.2697"></a>
+<span class="sourceLineNo">2698</span>    return this.catalogJanitorChore;<a name="line.2698"></a>
+<span class="sourceLineNo">2699</span>  }<a name="line.2699"></a>
+<span class="sourceLineNo">2700</span><a name="line.2700"></a>
+<span class="sourceLineNo">2701</span>  public MemoryBoundedLogMessageBuffer getRegionServerFatalLogBuffer() {<a name="line.2701"></a>
+<span class="sourceLineNo">2702</span>    return rsFatals;<a name="line.2702"></a>
+<span class="sourceLineNo">2703</span>  }<a name="line.2703"></a>
+<span class="sourceLineNo">2704</span><a name="line.2704"></a>
+<span class="sourceLineNo">2705</span>  /**<a name="line.2705"></a>
+<span class="sourceLineNo">2706</span>   * Shutdown the cluster.<a name="line.2706"></a>
+<span class="sourceLineNo">2707</span>   * Master runs a coordinated stop of all RegionServers and then itself.<a name="line.2707"></a>
+<span class="sourceLineNo">2708</span>   */<a name="line.2708"></a>
+<span class="sourceLineNo">2709</span>  public void shutdown() throws IOException {<a name="line.2709"></a>
+<span class="sourceLineNo">2710</span>    if (cpHost != null) {<a name="line.2710"></a>
+<span class="sourceLineNo">2711</span>      cpHost.preShutdown();<a name="line.2711"></a>
+<span class="sourceLineNo">2712</span>    }<a name="line.2712"></a>
+<span class="sourceLineNo">2713</span>    // Tell the servermanager cluster shutdown has been called. This makes it so when Master is<a name="line.2713"></a>
+<span class="sourceLineNo">2714</span>    // last running server, it'll stop itself. Next, we broadcast the cluster shutdown by setting<a name="line.2714"></a>
+<span class="sourceLineNo">2715</span>    // the cluster status as down. RegionServers will notice this change in state and will start<a name="line.2715"></a>
+<span class="sourceLineNo">2716</span>    // shutting themselves down. When last has exited, Master can go down.<a name="line.2716"></a>
+<span class="sourceLineNo">2717</span>    if (this.serverManager != null) {<a name="line.2717"></a>
+<span class="sourceLineNo">2718</span>      this.serverManager.shutdownCluster();<a name="line.2718"></a>
+<span class="sourceLineNo">2719</span>    }<a name="line.2719"></a>
+<span class="sourceLineNo">2720</span>    if (this.clusterStatusTracker != null) {<a name="line.2720"></a>
+<span class="sourceLineNo">2721</span>      try {<a name="line.2721"></a>
+<span class="sourceLineNo">2722</span>        this.clusterStatusTracker.setClusterDown();<a name="line.2722"></a>
+<span class="sourceLineNo">2723</span>      } catch (KeeperException e) {<a name="line.2723"></a>
+<span class="sourceLineNo">2724</span>        LOG.error("ZooKeeper exception trying to set cluster as down in ZK", e);<a name="line.2724"></a>
+<span class="sourceLineNo">2725</span>      }<a name="line.2725"></a>
+<span class="sourceLineNo">2726</span>    }<a name="line.2726"></a>
+<span class="sourceLineNo">2727</span>    // Stop the procedure executor. Will stop any ongoing assign, unassign, server crash etc.,<a name="line.2727"></a>
+<span class="sourceLineNo">2728</span>    // processing so we can go down.<a name="line.2728"></a>
+<span class="sourceLineNo">2729</span>    if (this.procedureExecutor != null) {<a name="line.2729"></a>
+<span class="sourceLineNo">2730</span>      this.procedureExecutor.stop();<a name="line.2730"></a>
+<span class="sourceLineNo">2731</span>    }<a name="line.2731"></a>
+<span class="sourceLineNo">2732</span>    // Shutdown our cluster connection. This will kill any hosted RPCs that might be going on;<a name="line.2732"></a>
+<span class="sourceLineNo">2733</span>    // this is what we want especially if the Master is in startup phase doing call outs to<a name="line.2733"></a>
+<span class="sourceLineNo">2734</span>    // hbase:meta, etc. when cluster is down. Without ths connection close, we'd have to wait on<a name="line.2734"></a>
+<span class="sourceLineNo">2735</span>    // the rpc to timeout.<a name="line.2735"></a>
+<span class="sourceLineNo">2736</span>    if (this.clusterConnection != null) {<a name="line.2736"></a>
+<span class="sourceLineNo">2737</span>      this.clusterConnection.close();<a name="line.2737"></a>
+<span class="sourceLineNo">2738</span>    }<a name="line.2738"></a>
+<span class="sourceLineNo">2739</span>  }<a name="line.2739"></a>
+<span class="sourceLineNo">2740</span><a name="line.2740"></a>
+<span class="sourceLineNo">2741</span>  public void stopMaster() throws IOException {<a name="line.2741"></a>
+<span class="sourceLineNo">2742</span>    if (cpHost != null) {<a name="line.2742"></a>
+<span class="sourceLineNo">2743</span>      cpHost.preStopMaster();<a name="line.2743"></a>
+<span class="sourceLineNo">2744</span>    }<a name="line.2744"></a>
+<span class="sourceLineNo">2745</span>    stop("Stopped by " + Thread.currentThread().getName());<a name="line.2745"></a>
+<span class="sourceLineNo">2746</span>  }<a name="line.2746"></a>
+<span class="sourceLineNo">2747</span><a name="line.2747"></a>
+<span class="sourceLineNo">2748</span>  @Override<a name="line.2748"></a>
+<span class="sourceLineNo">2749</span>  public void stop(String msg) {<a name="line.2749"></a>
+<span class="sourceLineNo">2750</span>    if (!isStopped()) {<a name="line.2750"></a>
+<span class="sourceLineNo">2751</span>      super.stop(msg);<a name="line.2751"></a>
+<span class="sourceLineNo">2752</span>      if (this.activeMasterManager != null) {<a name="line.2752"></a>
+<span class="sourceLineNo">2753</span>        this.activeMasterManager.stop();<a name="line.2753"></a>
+<span class="sourceLineNo">2754</span>      }<a name="line.2754"></a>
+<span class="sourceLineNo">2755</span>    }<a name="line.2755"></a>
+<span class="sourceLineNo">2756</span>  }<a name="line.2756"></a>
+<span class="sourceLineNo">2757</span><a name="line.2757"></a>
+<span class="sourceLineNo">2758</span>  void checkServiceStarted() throws ServerNotRunningYetException {<a name="line.2758"></a>
+<span class="sourceLineNo">2759</span>    if (!serviceStarted) {<a name="line.2759"></a>
+<span class="sourceLineNo">2760</span>      throw new ServerNotRunningYetException("Server is not running yet");<a name="line.2760"></a>
+<span class="sourceLineNo">2761</span>    }<a name="line.2761"></a>
+<span class="sourceLineNo">2762</span>  }<a name="line.2762"></a>
+<span class="sourceLineNo">2763</span><a name="line.2763"></a>
+<span class="sourceLineNo">2764</span>  public static class MasterStoppedException extends DoNotRetryIOException {<a name="line.2764"></a>
+<span class="sourceLineNo">2765</span>    MasterStoppedException() {<a name="line.2765"></a>
+<span class="sourceLineNo">2766</span>      super();<a name="line.2766"></a>
+<span class="sourceLineNo">2767</span>    }<a name="line.2767"></a>
+<span class="sourceLineNo">2768</span>  }<a name="line.2768"></a>
+<span class="sourceLineNo">2769</span><a name="line.2769"></a>
+<span class="sourceLineNo">2770</span>  void checkInitialized() throws PleaseHoldException, ServerNotRunningYetException,<a name="line.2770"></a>
+<span class="sourceLineNo">2771</span>      MasterNotRunningException, MasterStoppedException {<a name="line.2771"></a>
+<span class="sourceLineNo">2772</span>    checkServiceStarted();<a name="line.2772"></a>
+<span class="sourceLineNo">2773</span>    if (!isInitialized()) {<a name="line.2773"></a>
+<span class="sourceLineNo">2774</span>      throw new PleaseHoldException("Master is initializing");<a name="line.2774"></a>
 <span class="sourceLineNo">2775</span>    }<a name="line.2775"></a>
-<span class="sourceLineNo">2776</span>  }<a name="line.2776"></a>
-<span class="sourceLineNo">2777</span><a name="line.2777"></a>
-<span class="sourceLineNo">2778</span>  /**<a name="line.2778"></a>
-<span class="sourceLineNo">2779</span>   * Report whether this master is currently the active master or not.<a name="line.2779"></a>
-<span class="sourceLineNo">2780</span>   * If not active master, we are parked on ZK waiting to become active.<a name="line.2780"></a>
-<span class="sourceLineNo">2781</span>   *<a name="line.2781"></a>
-<span class="sourceLineNo">2782</span>   * This method is used for testing.<a name="line.2782"></a>
-<span class="sourceLineNo">2783</span>   *<a name="line.2783"></a>
-<span class="sourceLineNo">2784</span>   * @return true if active master, false if not.<a name="line.2784"></a>
-<span class="sourceLineNo">2785</span>   */<a name="line.2785"></a>
-<span class="sourceLineNo">2786</span>  @Override<a name="line.2786"></a>
-<span class="sourceLineNo">2787</span>  public boolean isActiveMaster() {<a name="line.2787"></a>
-<span class="sourceLineNo">2788</span>    return activeMaster;<a name="line.2788"></a>
-<span class="sourceLineNo">2789</span>  }<a name="line.2789"></a>
-<span class="sourceLineNo">2790</span><a name="line.2790"></a>
-<span class="sourceLineNo">2791</span>  /**<a name="line.2791"></a>
-<span class="sourceLineNo">2792</span>   * Report whether this master has completed with its initialization and is<a name="line.2792"></a>
-<span class="sourceLineNo">2793</span>   * ready.  If ready, the master is also the active master.  A standby master<a name="line.2793"></a>
-<span class="sourceLineNo">2794</span>   * is never ready.<a name="line.2794"></a>
-<span class="sourceLineNo">2795</span>   *<a name="line.2795"></a>
-<span class="sourceLineNo">2796</span>   * This method is used for testing.<a name="line.2796"></a>
-<span class="sourceLineNo">2797</span>   *<a name="line.2797"></a>
-<span class="sourceLineNo">2798</span>   * @return true if master is ready to go, false if not.<a name="line.2798"></a>
-<span class="sourceLineNo">2799</span>   */<a name="line.2799"></a>
-<span class="sourceLineNo">2800</span>  @Override<a name="line.2800"></a>
-<span class="sourceLineNo">2801</span>  public boolean isInitialized() {<a name="line.2801"></a>
-<span class="sourceLineNo">2802</span>    return initialized.isReady();<a name="line.2802"></a>
-<span class="sourceLineNo">2803</span>  }<a name="line.2803"></a>
-<span class="sourceLineNo">2804</span><a name="line.2804"></a>
-<span class="sourceLineNo">2805</span>  /**<a name="line.2805"></a>
-<span class="sourceLineNo">2806</span>   * Report whether this master is in maintenance mode.<a name="line.2806"></a>
-<span class="sourceLineNo">2807</span>   *<a name="line.2807"></a>
-<span class="sourceLineNo">2808</span>   * @return true if master is in maintenanceMode<a name="line.2808"></a>
-<span class="sourceLineNo">2809</span>   */<a name="line.2809"></a>
-<span class="sourceLineNo">2810</span>  @Override<a name="line.2810"></a>
-<span class="sourceLineNo">2811</span>  public boolean isInMaintenanceMode() {<a name="line.2811"></a>
-<span class="sourceLineNo">2812</span>    return maintenanceModeTracker.isInMaintenanceMode();<a name="line.2812"></a>
-<span class="sourceLineNo">2813</span>  }<a name="line.2813"></a>
-<span class="sourceLineNo">2814</span><a name="line.2814"></a>
-<span class="sourceLineNo">2815</span>  @VisibleForTesting<a name="line.2815"></a>
-<span class="sourceLineNo">2816</span>  public void setInitialized(boolean isInitialized) {<a name="line.2816"></a>
-<span class="sourceLineNo">2817</span>    procedureExecutor.getEnvironment().setEventReady(initialized, isInitialized);<a name="line.2817"></a>
-<span class="sourceLineNo">2818</span>  }<a name="line.2818"></a>
-<span class="sourceLineNo">2819</span><a name="line.2819"></a>
-<span class="sourceLineNo">2820</span>  @Override<a name="line.2820"></a>
-<span class="sourceLineNo">2821</span>  public ProcedureEvent&lt;?&gt; getInitializedEvent() {<a name="line.2821"></a>
-<span class="sourceLineNo">2822</span>    return initialized;<a name="line.2822"></a>
-<span class="sourceLineNo">2823</span>  }<a name="line.2823"></a>
-<span class="sourceLineNo">2824</span><a name="line.2824"></a>
-<span class="sourceLineNo">2825</span>  /**<a name="line.2825"></a>
-<span class="sourceLineNo">2826</span>   * ServerCrashProcessingEnabled is set false before completing assignMeta to prevent processing<a name="line.2826"></a>
-<span class="sourceLineNo">2827</span>   * of crashed servers.<a name="line.2827"></a>
-<span class="sourceLineNo">2828</span>   * @return true if assignMeta has completed;<a name="line.2828"></a>
-<span class="sourceLineNo">2829</span>   */<a name="line.2829"></a>
-<span class="sourceLineNo">2830</span>  @Override<a name="line.2830"></a>
-<span class="sourceLineNo">2831</span>  public boolean isServerCrashProcessingEnabled() {<a name="line.2831"></a>
-<span class="sourceLineNo">2832</span>    return serverCrashProcessingEnabled.isReady();<a name="line.2832"></a>
-<span class="sourceLineNo">2833</span>  }<a name="line.2833"></a>
-<span class="sourceLineNo">2834</span><a name="line.2834"></a>
-<span class="sourceLineNo">2835</span>  @VisibleForTesting<a name="line.2835"></a>
-<span class="sourceLineNo">2836</span>  public void setServerCrashProcessingEnabled(final boolean b) {<a name="line.2836"></a>
-<span class="sourceLineNo">2837</span>    procedureExecutor.getEnvironment().setEventReady(serverCrashProcessingEnabled, b);<a name="line.2837"></a>
-<span class="sourceLineNo">2838</span>  }<a name="line.2838"></a>
-<span class="sourceLineNo">2839</span><a name="line.2839"></a>
-<span class="sourceLineNo">2840</span>  public ProcedureEvent&lt;?&gt; getServerCrashProcessingEnabledEvent() {<a name="line.2840"></a>
-<span class="sourceLineNo">2841</span>    return serverCrashProcessingEnabled;<a name="line.2841"></a>
-<span class="sourceLineNo">2842</span>  }<a name="line.2842"></a>
-<span class="sourceLineNo">2843</span><a name="line.2843"></a>
-<span class="sourceLineNo">2844</span>  /**<a name="line.2844"></a>
-<span class="sourceLineNo">2845</span>   * Compute the average load across all region servers.<a name="line.2845"></a>
-<span class="sourceLineNo">2846</span>   * Currently, this uses a very naive computation - just uses the number of<a name="line.2846"></a>
-<span class="sourceLineNo">2847</span>   * regions being served, ignoring stats about number of requests.<a name="line.2847"></a>
-<span class="sourceLineNo">2848</span>   * @return the average load<a name="line.2848"></a>
-<span class="sourceLineNo">2849</span>   */<a name="line.2849"></a>
-<span class="sourceLineNo">2850</span>  public double getAverageLoad() {<a name="line.2850"></a>
-<span class="sourceLineNo">2851</span>    if (this.assignmentManager == null) {<a name="line.2851"></a>
-<span class="sourceLineNo">2852</span>      return 0;<a name="line.2852"></a>
-<span class="sourceLineNo">2853</span>    }<a name="line.2853"></a>
-<span class="sourceLineNo">2854</span><a name="line.2854"></a>
-<span class="sourceLineNo">2855</span>    RegionStates regionStates = this.assignmentManager.getRegionStates();<a name="line.2855"></a>
-<span class="sourceLineNo">2856</span>    if (regionStates == null) {<a name="line.2856"></a>
-<span class="sourceLineNo">2857</span>      return 0;<a name="line.2857"></a>
-<span class="sourceLineNo">2858</span>    }<a name="line.2858"></a>
-<span class="sourceLineNo">2859</span>    return regionStates.getAverageLoad();<a name="line.2859"></a>
-<span class="sourceLineNo">2860</span>  }<a name="line.2860"></a>
-<span class="sourceLineNo">2861</span><a name="line.2861"></a>
-<span class="sourceLineNo">2862</span>  /*<a name="line.2862"></a>
-<span class="sourceLineNo">2863</span>   * @return the count of region split plans executed<a name="line.2863"></a>
-<span class="sourceLineNo">2864</span>   */<a name="line.2864"></a>
-<span class="sourceLineNo">2865</span>  public long getSplitPlanCount() {<a name="line.2865"></a>
-<span class="sourceLineNo">2866</span>    return splitPlanCount;<a name="line.2866"></a>
-<span class="sourceLineNo">2867</span>  }<a name="line.2867"></a>
-<span class="sourceLineNo">2868</span><a name="line.2868"></a>
-<span class="sourceLineNo">2869</span>  /*<a name="line.2869"></a>
-<span class="sourceLineNo">2870</span>   * @return the count of region merge plans executed<a name="line.2870"></a>
-<span class="sourceLineNo">2871</span>   */<a name="line.2871"></a>
-<span class="sourceLineNo">2872</span>  public long getMergePlanCount() {<a name="line.2872"></a>
-<span class="sourceLineNo">2873</span>    return mergePlanCount;<a name="line.2873"></a>
-<span class="sourceLineNo">2874</span>  }<a name="line.2874"></a>
-<span class="sourceLineNo">2875</span><a name="line.2875"></a>
-<span class="sourceLineNo">2876</span>  @Override<a name="line.2876"></a>
-<span class="sourceLineNo">2877</span>  public boolean registerService(Service instance) {<a name="line.2877"></a>
-<span class="sourceLineNo">2878</span>    /*<a name="line.2878"></a>
-<span class="sourceLineNo">2879</span>     * No stacking of instances is allowed for a single service name<a name="line.2879"></a>
-<span class="sourceLineNo">2880</span>     */<a name="line.2880"></a>
-<span class="sourceLineNo">2881</span>    Descriptors.ServiceDescriptor serviceDesc = instance.getDescriptorForType();<a name="line.2881"></a>
-<span class="sourceLineNo">2882</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.2882"></a>
-<span class="sourceLineNo">2883</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.2883"></a>
-<span class="sourceLineNo">2884</span>      LOG.error("Coprocessor service "+serviceName+<a name="line.2884"></a>
-<span class="sourceLineNo">2885</span>          " already registered, rejecting request from "+instance<a name="line.2885"></a>
-<span class="sourceLineNo">2886</span>      )

<TRUNCATED>

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

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


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

Branch: refs/heads/asf-site
Commit: 7bcc960d3b97851edc15f3007d79641917fcbd66
Parents: 74b8701
Author: jenkins <bu...@apache.org>
Authored: Thu May 17 14:47:41 2018 +0000
Committer: jenkins <bu...@apache.org>
Committed: Thu May 17 14:47:41 2018 +0000

----------------------------------------------------------------------
 acid-semantics.html                             |    4 +-
 apache_hbase_reference_guide.pdf                |    4 +-
 .../hbase/mapreduce/HFileOutputFormat2.html     |   26 +-
 .../hbase/mapreduce/HFileOutputFormat2.html     | 1777 +++---
 book.html                                       |    2 +-
 bulk-loads.html                                 |    4 +-
 checkstyle-aggregate.html                       |  318 +-
 checkstyle.rss                                  |    4 +-
 coc.html                                        |    4 +-
 dependencies.html                               |    4 +-
 dependency-convergence.html                     |    4 +-
 dependency-info.html                            |    4 +-
 dependency-management.html                      |    4 +-
 devapidocs/constant-values.html                 |    8 +-
 devapidocs/deprecated-list.html                 |   38 +-
 devapidocs/index-all.html                       |   48 +-
 .../hadoop/hbase/backup/package-tree.html       |    4 +-
 .../hbase/class-use/NamespaceDescriptor.html    |   36 +-
 .../hadoop/hbase/class-use/TableName.html       |   86 +-
 .../hbase/client/class-use/TableDescriptor.html |   80 +-
 .../hadoop/hbase/client/package-tree.html       |   26 +-
 .../hbase/coprocessor/MasterObserver.html       |  758 ++-
 .../class-use/MasterCoprocessorEnvironment.html |  262 +-
 .../coprocessor/class-use/ObserverContext.html  |  370 +-
 .../ExampleMasterObserverWithMetrics.html       |    2 +-
 .../hadoop/hbase/filter/package-tree.html       |   10 +-
 .../hadoop/hbase/http/log/LogLevel.Servlet.html |    6 +-
 .../apache/hadoop/hbase/http/log/LogLevel.html  |    2 +-
 .../hadoop/hbase/io/hfile/CacheStats.html       |   28 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |    6 +-
 .../mapreduce/HFileOutputFormat2.TableInfo.html |   14 +-
 .../HFileOutputFormat2.WriterLength.html        |    8 +-
 .../hbase/mapreduce/HFileOutputFormat2.html     |   74 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |    2 +-
 .../master/HMaster.MasterStoppedException.html  |    4 +-
 .../org/apache/hadoop/hbase/master/HMaster.html |  208 +-
 .../hbase/master/MasterCoprocessorHost.html     |  322 +-
 .../hadoop/hbase/master/package-tree.html       |    6 +-
 .../master/procedure/ModifyTableProcedure.html  |    2 +-
 .../hbase/master/procedure/package-tree.html    |    2 +-
 .../hadoop/hbase/monitoring/package-tree.html   |    2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |   16 +-
 .../hadoop/hbase/procedure2/package-tree.html   |    4 +-
 .../hbase/quotas/MasterSpaceQuotaObserver.html  |    2 +-
 .../hadoop/hbase/quotas/package-tree.html       |   10 +-
 .../hadoop/hbase/regionserver/package-tree.html |   20 +-
 .../regionserver/querymatcher/package-tree.html |    2 +-
 .../hbase/regionserver/wal/package-tree.html    |    2 +-
 .../replication/regionserver/package-tree.html  |    2 +-
 .../hbase/rsgroup/RSGroupAdminEndpoint.html     |    4 +-
 .../hbase/security/access/AccessController.html |    8 +-
 .../CoprocessorWhitelistMasterObserver.html     |    4 +-
 .../hbase/security/access/package-tree.html     |    2 +-
 .../hadoop/hbase/security/class-use/User.html   |   10 +-
 .../visibility/VisibilityController.html        |    4 +-
 .../hadoop/hbase/thrift/package-tree.html       |    2 +-
 .../org/apache/hadoop/hbase/util/JSONBean.html  |    2 +-
 .../apache/hadoop/hbase/util/package-tree.html  |    8 +-
 .../org/apache/hadoop/hbase/Version.html        |    6 +-
 .../hbase/coprocessor/MasterObserver.html       | 2210 +++----
 .../hadoop/hbase/http/log/LogLevel.Servlet.html |  156 +-
 .../apache/hadoop/hbase/http/log/LogLevel.html  |  156 +-
 .../hadoop/hbase/io/hfile/CacheStats.html       |  164 +-
 .../mapreduce/HFileOutputFormat2.TableInfo.html | 1777 +++---
 .../HFileOutputFormat2.WriterLength.html        | 1777 +++---
 .../hbase/mapreduce/HFileOutputFormat2.html     | 1777 +++---
 .../master/HMaster.InitializationMonitor.html   | 2521 ++++----
 .../master/HMaster.MasterStoppedException.html  | 2521 ++++----
 .../hbase/master/HMaster.RedirectServlet.html   | 2521 ++++----
 .../org/apache/hadoop/hbase/master/HMaster.html | 2521 ++++----
 ...MasterCoprocessorHost.MasterEnvironment.html | 2812 ++++-----
 ...st.MasterEnvironmentForCoreCoprocessors.html | 2812 ++++-----
 ...CoprocessorHost.MasterObserverOperation.html | 2812 ++++-----
 .../hbase/master/MasterCoprocessorHost.html     | 2812 ++++-----
 .../master/procedure/ModifyTableProcedure.html  |   40 +-
 .../hadoop/hbase/util/JSONBean.Writer.html      |   88 +-
 .../org/apache/hadoop/hbase/util/JSONBean.html  |   88 +-
 downloads.html                                  |    4 +-
 export_control.html                             |    4 +-
 index.html                                      |    4 +-
 integration.html                                |    4 +-
 issue-tracking.html                             |    4 +-
 license.html                                    |    4 +-
 mail-lists.html                                 |    4 +-
 metrics.html                                    |    4 +-
 old_news.html                                   |    4 +-
 plugin-management.html                          |    4 +-
 plugins.html                                    |    4 +-
 poweredbyhbase.html                             |    4 +-
 project-info.html                               |    4 +-
 project-reports.html                            |    4 +-
 project-summary.html                            |    4 +-
 pseudo-distributed.html                         |    4 +-
 replication.html                                |    4 +-
 resources.html                                  |    4 +-
 source-repository.html                          |    4 +-
 sponsors.html                                   |    4 +-
 supportingprojects.html                         |    4 +-
 team-list.html                                  |    4 +-
 testdevapidocs/constant-values.html             |   15 +-
 testdevapidocs/index-all.html                   |   15 +
 .../hbase/PerformanceEvaluation.AppendTest.html |    6 +-
 ...rformanceEvaluation.AsyncRandomReadTest.html |   20 +-
 ...formanceEvaluation.AsyncRandomWriteTest.html |    6 +-
 .../PerformanceEvaluation.AsyncScanTest.html    |   14 +-
 ...manceEvaluation.AsyncSequentialReadTest.html |    6 +-
 ...anceEvaluation.AsyncSequentialWriteTest.html |    6 +-
 .../PerformanceEvaluation.AsyncTableTest.html   |   10 +-
 .../hbase/PerformanceEvaluation.AsyncTest.html  |   10 +-
 ...rformanceEvaluation.BufferedMutatorTest.html |   12 +-
 .../PerformanceEvaluation.CASTableTest.html     |   12 +-
 ...erformanceEvaluation.CheckAndDeleteTest.html |    6 +-
 ...erformanceEvaluation.CheckAndMutateTest.html |    6 +-
 .../PerformanceEvaluation.CheckAndPutTest.html  |    6 +-
 .../PerformanceEvaluation.CmdDescriptor.html    |   16 +-
 .../hbase/PerformanceEvaluation.Counter.html    |   10 +-
 ...PerformanceEvaluation.EvaluationMapTask.html |   16 +-
 .../PerformanceEvaluation.FilteredScanTest.html |   10 +-
 .../PerformanceEvaluation.IncrementTest.html    |    6 +-
 .../PerformanceEvaluation.RandomReadTest.html   |   16 +-
 ...Evaluation.RandomScanWithRange10000Test.html |    6 +-
 ...eEvaluation.RandomScanWithRange1000Test.html |    6 +-
 ...ceEvaluation.RandomScanWithRange100Test.html |    6 +-
 ...nceEvaluation.RandomScanWithRange10Test.html |    6 +-
 ...manceEvaluation.RandomScanWithRangeTest.html |   12 +-
 ...erformanceEvaluation.RandomSeekScanTest.html |    8 +-
 .../PerformanceEvaluation.RandomWriteTest.html  |    6 +-
 .../hbase/PerformanceEvaluation.RunResult.html  |   12 +-
 .../hbase/PerformanceEvaluation.ScanTest.html   |   10 +-
 ...erformanceEvaluation.SequentialReadTest.html |    6 +-
 ...rformanceEvaluation.SequentialWriteTest.html |    6 +-
 .../hbase/PerformanceEvaluation.Status.html     |    4 +-
 .../hbase/PerformanceEvaluation.TableTest.html  |   10 +-
 .../hbase/PerformanceEvaluation.Test.html       |   10 +-
 .../hbase/PerformanceEvaluation.TestBase.html   |   86 +-
 .../PerformanceEvaluation.TestOptions.html      |  252 +-
 .../hadoop/hbase/PerformanceEvaluation.html     |  123 +-
 .../apache/hadoop/hbase/TestCellComparator.html |  114 +-
 .../TestClientClusterMetrics.MyObserver.html    |    2 +-
 .../TestClientClusterStatus.MyObserver.html     |    2 +-
 ...stJMXConnectorServer.MyAccessController.html |    2 +-
 ...leteWithFailures.MasterSnapshotObserver.html |    2 +-
 .../hadoop/hbase/backup/package-tree.html       |    2 +-
 ...cAdminBuilder.TestMaxRetriesCoprocessor.html |    2 +-
 ...Builder.TestOperationTimeoutCoprocessor.html |    2 +-
 ...cAdminBuilder.TestRpcTimeoutCoprocessor.html |    2 +-
 .../TestEnableTable.MasterSyncObserver.html     |    2 +-
 .../TestMultiParallel.MyMasterObserver.html     |    2 +-
 .../TestClassLoading.TestMasterCoprocessor.html |    2 +-
 ...CoprocessorMetrics.CustomMasterObserver.html |    2 +-
 ...rExceptionWithAbort.BuggyMasterObserver.html |    2 +-
 ...ExceptionWithRemove.BuggyMasterObserver.html |    2 +-
 .../TestMasterObserver.CPMasterObserver.html    |    2 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |    2 +-
 .../hbase/mapreduce/TestHFileOutputFormat2.html |   50 +-
 ...oprocessorServices.MockAccessController.html |    2 +-
 ...cessorServices.MockVisibilityController.html |    2 +-
 ...ObserverPostCalls.MasterObserverForTest.html |    2 +-
 .../TestNamespaceAuditor.CPMasterObserver.html  |    2 +-
 ...TestNamespaceAuditor.MasterSyncObserver.html |    2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |   10 +-
 ...estFailedProcCleanup.CreateFailObserver.html |    2 +-
 ...edProcCleanup.CreateFailObserverHandler.html |    2 +-
 .../hadoop/hbase/procedure/package-tree.html    |    8 +-
 ...ionOnCluster.FailingSplitMasterObserver.html |    2 +-
 .../hadoop/hbase/regionserver/package-tree.html |    2 +-
 .../SecureTestUtil.MasterSyncObserver.html      |    2 +-
 ...estAccessController2.MyAccessController.html |    2 +-
 ...ccessController3.FaultyAccessController.html |    2 +-
 ...napshotClientRetries.MasterSyncObserver.html |    2 +-
 .../apache/hadoop/hbase/test/package-tree.html  |    4 +-
 ...BaseTestHBaseFsck.MasterSyncCoprocessor.html |    2 +-
 .../hbase/PerformanceEvaluation.AppendTest.html | 5411 +++++++++---------
 ...rformanceEvaluation.AsyncRandomReadTest.html | 5411 +++++++++---------
 ...formanceEvaluation.AsyncRandomWriteTest.html | 5411 +++++++++---------
 .../PerformanceEvaluation.AsyncScanTest.html    | 5411 +++++++++---------
 ...manceEvaluation.AsyncSequentialReadTest.html | 5411 +++++++++---------
 ...anceEvaluation.AsyncSequentialWriteTest.html | 5411 +++++++++---------
 .../PerformanceEvaluation.AsyncTableTest.html   | 5411 +++++++++---------
 .../hbase/PerformanceEvaluation.AsyncTest.html  | 5411 +++++++++---------
 ...rformanceEvaluation.BufferedMutatorTest.html | 5411 +++++++++---------
 .../PerformanceEvaluation.CASTableTest.html     | 5411 +++++++++---------
 ...erformanceEvaluation.CheckAndDeleteTest.html | 5411 +++++++++---------
 ...erformanceEvaluation.CheckAndMutateTest.html | 5411 +++++++++---------
 .../PerformanceEvaluation.CheckAndPutTest.html  | 5411 +++++++++---------
 .../PerformanceEvaluation.CmdDescriptor.html    | 5411 +++++++++---------
 .../hbase/PerformanceEvaluation.Counter.html    | 5411 +++++++++---------
 ...PerformanceEvaluation.EvaluationMapTask.html | 5411 +++++++++---------
 .../PerformanceEvaluation.FilteredScanTest.html | 5411 +++++++++---------
 .../PerformanceEvaluation.IncrementTest.html    | 5411 +++++++++---------
 .../PerformanceEvaluation.RandomReadTest.html   | 5411 +++++++++---------
 ...Evaluation.RandomScanWithRange10000Test.html | 5411 +++++++++---------
 ...eEvaluation.RandomScanWithRange1000Test.html | 5411 +++++++++---------
 ...ceEvaluation.RandomScanWithRange100Test.html | 5411 +++++++++---------
 ...nceEvaluation.RandomScanWithRange10Test.html | 5411 +++++++++---------
 ...manceEvaluation.RandomScanWithRangeTest.html | 5411 +++++++++---------
 ...erformanceEvaluation.RandomSeekScanTest.html | 5411 +++++++++---------
 .../PerformanceEvaluation.RandomWriteTest.html  | 5411 +++++++++---------
 .../hbase/PerformanceEvaluation.RunResult.html  | 5411 +++++++++---------
 .../hbase/PerformanceEvaluation.ScanTest.html   | 5411 +++++++++---------
 ...erformanceEvaluation.SequentialReadTest.html | 5411 +++++++++---------
 ...rformanceEvaluation.SequentialWriteTest.html | 5411 +++++++++---------
 .../hbase/PerformanceEvaluation.Status.html     | 5411 +++++++++---------
 .../hbase/PerformanceEvaluation.TableTest.html  | 5411 +++++++++---------
 .../hbase/PerformanceEvaluation.Test.html       | 5411 +++++++++---------
 .../hbase/PerformanceEvaluation.TestBase.html   | 5411 +++++++++---------
 .../PerformanceEvaluation.TestOptions.html      | 5411 +++++++++---------
 .../hadoop/hbase/PerformanceEvaluation.html     | 5411 +++++++++---------
 .../apache/hadoop/hbase/TestCellComparator.html |  321 +-
 ...BackupBase.FullTableBackupClientForTest.html |    6 +-
 ...ase.IncrementalTableBackupClientForTest.html |    6 +-
 .../hadoop/hbase/backup/TestBackupBase.html     |    6 +-
 .../hbase/backup/TestIncrementalBackup.html     |    4 +-
 ...eOutputFormat2.RandomKVGeneratingMapper.html | 1717 +++---
 ...OutputFormat2.RandomPutGeneratingMapper.html | 1717 +++---
 .../hbase/mapreduce/TestHFileOutputFormat2.html | 1717 +++---
 216 files changed, 118366 insertions(+), 117297 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index 2cc97d2..673f227 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="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -601,7 +601,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-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 5847c40..bb7d4d7 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:20180516183146+00'00')
-/CreationDate (D:20180516184628+00'00')
+/ModDate (D:20180517142955+00'00')
+/CreationDate (D:20180517144455+00'00')
 >>
 endobj
 2 0 obj

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/apidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html b/apidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
index bcf0719..44de7d7 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
@@ -124,7 +124,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.106">HFileOutputFormat2</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.107">HFileOutputFormat2</a>
 extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</pre>
 <div class="block">Writes HFiles. Passed Cells must arrive in order.
  Writes current time as the sequence id for the file. Sets the major compacted
@@ -284,7 +284,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>tableSeparator</h4>
-<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.137">tableSeparator</a></pre>
+<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.138">tableSeparator</a></pre>
 </li>
 </ul>
 <a name="DATABLOCK_ENCODING_OVERRIDE_CONF_KEY">
@@ -293,7 +293,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>DATABLOCK_ENCODING_OVERRIDE_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.160">DATABLOCK_ENCODING_OVERRIDE_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.161">DATABLOCK_ENCODING_OVERRIDE_CONF_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.DATABLOCK_ENCODING_OVERRIDE_CONF_KEY">Constant Field Values</a></dd>
@@ -306,7 +306,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>LOCALITY_SENSITIVE_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.166">LOCALITY_SENSITIVE_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.167">LOCALITY_SENSITIVE_CONF_KEY</a></pre>
 <div class="block">Keep locality while generating HFiles for bulkload. See HBASE-12596</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -320,7 +320,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>STORAGE_POLICY_PROPERTY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.174">STORAGE_POLICY_PROPERTY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.175">STORAGE_POLICY_PROPERTY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.STORAGE_POLICY_PROPERTY">Constant Field Values</a></dd>
@@ -333,7 +333,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>STORAGE_POLICY_PROPERTY_CF_PREFIX</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.175">STORAGE_POLICY_PROPERTY_CF_PREFIX</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.176">STORAGE_POLICY_PROPERTY_CF_PREFIX</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.STORAGE_POLICY_PROPERTY_CF_PREFIX">Constant Field Values</a></dd>
@@ -354,7 +354,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HFileOutputFormat2</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.106">HFileOutputFormat2</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.107">HFileOutputFormat2</a>()</pre>
 </li>
 </ul>
 </li>
@@ -371,7 +371,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>combineTableNameSuffix</h4>
-<pre>protected static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.139">combineTableNameSuffix</a>(byte[]&nbsp;tableName,
+<pre>protected static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.140">combineTableNameSuffix</a>(byte[]&nbsp;tableName,
                                                byte[]&nbsp;suffix)</pre>
 </li>
 </ul>
@@ -381,7 +381,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>getRecordWriter</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.178">getRecordWriter</a>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)
+<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.179">getRecordWriter</a>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)
                                                                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                                                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -399,7 +399,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableNameSuffixedWithFamily</h4>
-<pre>protected static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.183">getTableNameSuffixedWithFamily</a>(byte[]&nbsp;tableName,
+<pre>protected static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.184">getTableNameSuffixedWithFamily</a>(byte[]&nbsp;tableName,
                                                        byte[]&nbsp;family)</pre>
 </li>
 </ul>
@@ -409,7 +409,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>configureIncrementalLoad</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.571">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.575">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
                                             <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
                                             <a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;regionLocator)
                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -437,7 +437,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>configureIncrementalLoad</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.590">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.594">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
                                             <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor,
                                             <a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;regionLocator)
                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -465,7 +465,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>configureIncrementalLoadMap</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.671">configureIncrementalLoadMap</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.678">configureIncrementalLoadMap</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
                                                <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor)
                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
index c8405ee..7c87df2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
@@ -217,1117 +217,1215 @@
 <span class="sourceLineNo">209</span>   * table RPC call.<a name="line.209"></a>
 <span class="sourceLineNo">210</span>   * @param ctx the environment to interact with the framework and master<a name="line.210"></a>
 <span class="sourceLineNo">211</span>   * @param tableName the name of the table<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @param htd the TableDescriptor<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  default void preModifyTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      final TableName tableName, TableDescriptor htd) throws IOException {}<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>  /**<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   * Called after the modifyTable operation has been requested.  Called as part<a name="line.218"></a>
-<span class="sourceLineNo">219</span>   * of modify table RPC call.<a name="line.219"></a>
-<span class="sourceLineNo">220</span>   * @param ctx the environment to interact with the framework and master<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   * @param tableName the name of the table<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   * @param htd the TableDescriptor<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   */<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  default void postModifyTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      final TableName tableName, TableDescriptor htd) throws IOException {}<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   * Called prior to modifying a table's properties.  Called as part of modify<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   * table procedure and it is async to the modify table RPC call.<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   *<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * @param ctx the environment to interact with the framework and master<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * @param tableName the name of the table<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * @param htd the TableDescriptor<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  default void preModifyTableAction(<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      final TableName tableName,<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      final TableDescriptor htd) throws IOException {}<a name="line.238"></a>
-<span class="sourceLineNo">239</span><a name="line.239"></a>
-<span class="sourceLineNo">240</span>  /**<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * Called after to modifying a table's properties.  Called as part of modify<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   * table procedure and it is async to the modify table RPC call.<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   *<a name="line.243"></a>
-<span class="sourceLineNo">244</span>   * @param ctx the environment to interact with the framework and master<a name="line.244"></a>
-<span class="sourceLineNo">245</span>   * @param tableName the name of the table<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * @param htd the TableDescriptor<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   */<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  default void postCompletedModifyTableAction(<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      final TableName tableName,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      final TableDescriptor htd) throws IOException {}<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  /**<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   * Called prior to enabling a table.  Called as part of enable table RPC call.<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @param ctx the environment to interact with the framework and master<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   * @param tableName the name of the table<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   */<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  default void preEnableTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      final TableName tableName) throws IOException {}<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>  /**<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   * Called after the enableTable operation has been requested.  Called as part<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   * of enable table RPC call.<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * @param ctx the environment to interact with the framework and master<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   * @param tableName the name of the table<a name="line.265"></a>
-<span class="sourceLineNo">266</span>   */<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  default void postEnableTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      final TableName tableName) throws IOException {}<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /**<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   * Called prior to enabling a table.  Called as part of enable table procedure<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * and it is async to the enable table RPC call.<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   *<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * @param ctx the environment to interact with the framework and master<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   * @param tableName the name of the table<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  default void preEnableTableAction(<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      final TableName tableName) throws IOException {}<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  /**<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * Called after the enableTable operation has been requested.  Called as part<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   * of enable table procedure and it is async to the enable table RPC call.<a name="line.283"></a>
-<span class="sourceLineNo">284</span>   *<a name="line.284"></a>
-<span class="sourceLineNo">285</span>   * @param ctx the environment to interact with the framework and master<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @param tableName the name of the table<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   */<a name="line.287"></a>
-<span class="sourceLineNo">288</span>  default void postCompletedEnableTableAction(<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      final TableName tableName) throws IOException {}<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>   * Called prior to disabling a table.  Called as part of disable table RPC<a name="line.293"></a>
-<span class="sourceLineNo">294</span>   * call.<a name="line.294"></a>
+<span class="sourceLineNo">212</span>   * @param newDescriptor after modify operation, table will have this descriptor<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   * @deprecated Since 2.1. Will be removed in 3.0.<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   */<a name="line.214"></a>
+<span class="sourceLineNo">215</span>  @Deprecated<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  default void preModifyTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    final TableName tableName, TableDescriptor newDescriptor) throws IOException {}<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>   * Called prior to modifying a table's properties.  Called as part of modify<a name="line.220"></a>
+<span class="sourceLineNo">221</span>   * table RPC call.<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * @param ctx the environment to interact with the framework and master<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * @param tableName the name of the table<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   * @param currentDescriptor current TableDescriptor of the table<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   * @param newDescriptor after modify operation, table will have this descriptor<a name="line.225"></a>
+<span class="sourceLineNo">226</span>   */<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  default void preModifyTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      final TableName tableName, TableDescriptor currentDescriptor, TableDescriptor newDescriptor)<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    throws IOException {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    preModifyTable(ctx, tableName, newDescriptor);<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  }<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  /**<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * Called after the modifyTable operation has been requested.  Called as part<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   * of modify table RPC call.<a name="line.235"></a>
+<span class="sourceLineNo">236</span>   * @param ctx the environment to interact with the framework and master<a name="line.236"></a>
+<span class="sourceLineNo">237</span>   * @param tableName the name of the table<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   * @param currentDescriptor current TableDescriptor of the table<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * @deprecated Since 2.1. Will be removed in 3.0.<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  @Deprecated<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  default void postModifyTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    final TableName tableName, TableDescriptor currentDescriptor) throws IOException {}<a name="line.243"></a>
+<span class="sourceLineNo">244</span><a name="line.244"></a>
+<span class="sourceLineNo">245</span>  /**<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   * Called after the modifyTable operation has been requested.  Called as part<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   * of modify table RPC call.<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * @param ctx the environment to interact with the framework and master<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   * @param tableName the name of the table<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * @param oldDescriptor descriptor of table before modify operation happened<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * @param currentDescriptor current TableDescriptor of the table<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  default void postModifyTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      final TableName tableName, TableDescriptor oldDescriptor, TableDescriptor currentDescriptor)<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    throws IOException {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    postModifyTable(ctx, tableName, currentDescriptor);<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>  /**<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * Called prior to modifying a table's properties.  Called as part of modify<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   * table procedure and it is async to the modify table RPC call.<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   *<a name="line.262"></a>
+<span class="sourceLineNo">263</span>   * @param ctx the environment to interact with the framework and master<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   * @param tableName the name of the table<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   * @param newDescriptor after modify operation, table will have this descriptor<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * @deprecated Since 2.1. Will be removed in 3.0.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  @Deprecated<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  default void preModifyTableAction(<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    final TableName tableName,<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    final TableDescriptor newDescriptor) throws IOException {}<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>   * Called prior to modifying a table's properties.  Called as part of modify<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   * table procedure and it is async to the modify table RPC call.<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   *<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   * @param ctx the environment to interact with the framework and master<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   * @param tableName the name of the table<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   * @param currentDescriptor current TableDescriptor of the table<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * @param newDescriptor after modify operation, table will have this descriptor<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   */<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  default void preModifyTableAction(<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      final TableName tableName,<a name="line.285"></a>
+<span class="sourceLineNo">286</span>      final TableDescriptor currentDescriptor,<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      final TableDescriptor newDescriptor) throws IOException {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    preModifyTableAction(ctx, tableName, newDescriptor);<a name="line.288"></a>
+<span class="sourceLineNo">289</span>  }<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>  /**<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   * Called after to modifying a table's properties.  Called as part of modify<a name="line.292"></a>
+<span class="sourceLineNo">293</span>   * table procedure and it is async to the modify table RPC call.<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   *<a name="line.294"></a>
 <span class="sourceLineNo">295</span>   * @param ctx the environment to interact with the framework and master<a name="line.295"></a>
 <span class="sourceLineNo">296</span>   * @param tableName the name of the table<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   */<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  default void preDisableTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      final TableName tableName) throws IOException {}<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * Called after the disableTable operation has been requested.  Called as part<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * of disable table RPC call.<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @param ctx the environment to interact with the framework and master<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * @param tableName the name of the table<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   */<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  default void postDisableTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      final TableName tableName) throws IOException {}<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>   * Called prior to disabling a table.  Called as part of disable table procedure<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * and it is asyn to the disable table RPC call.<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   *<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @param ctx the environment to interact with the framework and master<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * @param tableName the name of the table<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   */<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  default void preDisableTableAction(<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      final TableName tableName) throws IOException {}<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  /**<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * Called after the disableTable operation has been requested.  Called as part<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * of disable table procedure and it is asyn to the disable table RPC call.<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   *<a name="line.324"></a>
+<span class="sourceLineNo">297</span>   * @param currentDescriptor current TableDescriptor of the table<a name="line.297"></a>
+<span class="sourceLineNo">298</span>   * @deprecated Since 2.1. Will be removed in 3.0.<a name="line.298"></a>
+<span class="sourceLineNo">299</span>   */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  @Deprecated<a name="line.300"></a>
+<span class="sourceLineNo">301</span>  default void postCompletedModifyTableAction(<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    final TableName tableName,<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    final TableDescriptor currentDescriptor) throws IOException {}<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>   * Called after to modifying a table's properties.  Called as part of modify<a name="line.307"></a>
+<span class="sourceLineNo">308</span>   * table procedure and it is async to the modify table RPC call.<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   *<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * @param ctx the environment to interact with the framework and master<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   * @param tableName the name of the table<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * @param oldDescriptor descriptor of table before modify operation happened<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * @param currentDescriptor current TableDescriptor of the table<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   */<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  default void postCompletedModifyTableAction(<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      final TableName tableName,<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      final TableDescriptor oldDescriptor,<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      final TableDescriptor currentDescriptor) throws IOException {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    postCompletedModifyTableAction(ctx, tableName, currentDescriptor);<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  }<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>  /**<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * Called prior to enabling a table.  Called as part of enable table RPC call.<a name="line.324"></a>
 <span class="sourceLineNo">325</span>   * @param ctx the environment to interact with the framework and master<a name="line.325"></a>
 <span class="sourceLineNo">326</span>   * @param tableName the name of the table<a name="line.326"></a>
 <span class="sourceLineNo">327</span>   */<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  default void postCompletedDisableTableAction(<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      final TableName tableName) throws IOException {}<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * Called before a abortProcedure request has been processed.<a name="line.333"></a>
+<span class="sourceLineNo">328</span>  default void preEnableTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      final TableName tableName) throws IOException {}<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * Called after the enableTable operation has been requested.  Called as part<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * of enable table RPC call.<a name="line.333"></a>
 <span class="sourceLineNo">334</span>   * @param ctx the environment to interact with the framework and master<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * @param procId the Id of the procedure<a name="line.335"></a>
+<span class="sourceLineNo">335</span>   * @param tableName the name of the table<a name="line.335"></a>
 <span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  default void preAbortProcedure(<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, final long procId) throws IOException {}<a name="line.338"></a>
+<span class="sourceLineNo">337</span>  default void postEnableTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.337"></a>
+<span class="sourceLineNo">338</span>      final TableName tableName) throws IOException {}<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>   * Called after a abortProcedure request has been processed.<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * @param ctx the environment to interact with the framework and master<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   */<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  default void postAbortProcedure(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      throws IOException {}<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>  /**<a name="line.347"></a>
-<span class="sourceLineNo">348</span>   * Called before a getProcedures request has been processed.<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @param ctx the environment to interact with the framework and master<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   */<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  default void preGetProcedures(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      throws IOException {}<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span>  /**<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * Called after a getProcedures request has been processed.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * @param ctx the environment to interact with the framework and master<a name="line.356"></a>
+<span class="sourceLineNo">341</span>   * Called prior to enabling a table.  Called as part of enable table procedure<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * and it is async to the enable table RPC call.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   *<a name="line.343"></a>
+<span class="sourceLineNo">344</span>   * @param ctx the environment to interact with the framework and master<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * @param tableName the name of the table<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  default void preEnableTableAction(<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      final TableName tableName) throws IOException {}<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>   * Called after the enableTable operation has been requested.  Called as part<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * of enable table procedure and it is async to the enable table RPC call.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   *<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   * @param ctx the environment to interact with the framework and master<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   * @param tableName the name of the table<a name="line.356"></a>
 <span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  default void postGetProcedures(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      throws IOException {}<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>   * Called before a getLocks request has been processed.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @param ctx the environment to interact with the framework and master<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * @throws IOException if something went wrong<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   */<a name="line.365"></a>
-<span class="sourceLineNo">366</span>  default void preGetLocks(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      throws IOException {}<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>  /**<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * Called after a getLocks request has been processed.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   * @param ctx the environment to interact with the framework and master<a name="line.371"></a>
-<span class="sourceLineNo">372</span>   * @throws IOException if something went wrong<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   */<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  default void postGetLocks(<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {}<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>   * Called prior to moving a given region from one region server to another.<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @param ctx the environment to interact with the framework and master<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * @param region the RegionInfo<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @param srcServer the source ServerName<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @param destServer the destination ServerName<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   */<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  default void preMove(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      final RegionInfo region, final ServerName srcServer,<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      final ServerName destServer)<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    throws IOException {}<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>   * Called after the region move has been requested.<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @param ctx the environment to interact with the framework and master<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   * @param region the RegionInfo<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * @param srcServer the source ServerName<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * @param destServer the destination ServerName<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   */<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  default void postMove(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      final RegionInfo region, final ServerName srcServer,<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      final ServerName destServer)<a name="line.398"></a>
-<span class="sourceLineNo">399</span>    throws IOException {}<a name="line.399"></a>
-<span class="sourceLineNo">400</span><a name="line.400"></a>
-<span class="sourceLineNo">401</span>  /**<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * Called prior to assigning a specific region.<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   * @param ctx the environment to interact with the framework and master<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * @param regionInfo the regionInfo of the region<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   */<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  default void preAssign(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      final RegionInfo regionInfo) throws IOException {}<a name="line.407"></a>
-<span class="sourceLineNo">408</span><a name="line.408"></a>
-<span class="sourceLineNo">409</span>  /**<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * Called after the region assignment has been requested.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   * @param ctx the environment to interact with the framework and master<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * @param regionInfo the regionInfo of the region<a name="line.412"></a>
+<span class="sourceLineNo">358</span>  default void postCompletedEnableTableAction(<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      final TableName tableName) throws IOException {}<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * Called prior to disabling a table.  Called as part of disable table RPC<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * call.<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * @param ctx the environment to interact with the framework and master<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * @param tableName the name of the table<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
+<span class="sourceLineNo">368</span>  default void preDisableTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.368"></a>
+<span class="sourceLineNo">369</span>      final TableName tableName) throws IOException {}<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>  /**<a name="line.371"></a>
+<span class="sourceLineNo">372</span>   * Called after the disableTable operation has been requested.  Called as part<a name="line.372"></a>
+<span class="sourceLineNo">373</span>   * of disable table RPC call.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>   * @param ctx the environment to interact with the framework and master<a name="line.374"></a>
+<span class="sourceLineNo">375</span>   * @param tableName the name of the table<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   */<a name="line.376"></a>
+<span class="sourceLineNo">377</span>  default void postDisableTable(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.377"></a>
+<span class="sourceLineNo">378</span>      final TableName tableName) throws IOException {}<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>   * Called prior to disabling a table.  Called as part of disable table procedure<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * and it is asyn to the disable table RPC call.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   *<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * @param ctx the environment to interact with the framework and master<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   * @param tableName the name of the table<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   */<a name="line.386"></a>
+<span class="sourceLineNo">387</span>  default void preDisableTableAction(<a name="line.387"></a>
+<span class="sourceLineNo">388</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      final TableName tableName) throws IOException {}<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>   * Called after the disableTable operation has been requested.  Called as part<a name="line.392"></a>
+<span class="sourceLineNo">393</span>   * of disable table procedure and it is asyn to the disable table RPC call.<a name="line.393"></a>
+<span class="sourceLineNo">394</span>   *<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   * @param ctx the environment to interact with the framework and master<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * @param tableName the name of the table<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   */<a name="line.397"></a>
+<span class="sourceLineNo">398</span>  default void postCompletedDisableTableAction(<a name="line.398"></a>
+<span class="sourceLineNo">399</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.399"></a>
+<span class="sourceLineNo">400</span>      final TableName tableName) throws IOException {}<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>   * Called before a abortProcedure request has been processed.<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * @param ctx the environment to interact with the framework and master<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * @param procId the Id of the procedure<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   */<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  default void preAbortProcedure(<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, final long procId) throws IOException {}<a name="line.408"></a>
+<span class="sourceLineNo">409</span><a name="line.409"></a>
+<span class="sourceLineNo">410</span>  /**<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * Called after a abortProcedure request has been processed.<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   * @param ctx the environment to interact with the framework and master<a name="line.412"></a>
 <span class="sourceLineNo">413</span>   */<a name="line.413"></a>
-<span class="sourceLineNo">414</span>  default void postAssign(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      final RegionInfo regionInfo) throws IOException {}<a name="line.415"></a>
+<span class="sourceLineNo">414</span>  default void postAbortProcedure(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      throws IOException {}<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>   * Called prior to unassigning a given region.<a name="line.418"></a>
+<span class="sourceLineNo">418</span>   * Called before a getProcedures request has been processed.<a name="line.418"></a>
 <span class="sourceLineNo">419</span>   * @param ctx the environment to interact with the framework and master<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   * @param regionInfo<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   * @param force whether to force unassignment or not<a name="line.421"></a>
-<span class="sourceLineNo">422</span>   */<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  default void preUnassign(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      final RegionInfo regionInfo, final boolean force) throws IOException {}<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>   * Called after the region unassignment has been requested.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @param ctx the environment to interact with the framework and master<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @param regionInfo<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @param force whether to force unassignment or not<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  default void postUnassign(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      final RegionInfo regionInfo, final boolean force) throws IOException {}<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>   * Called prior to marking a given region as offline.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * @param ctx the environment to interact with the framework and master<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param regionInfo<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   */<a name="line.439"></a>
-<span class="sourceLineNo">440</span>  default void preRegionOffline(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      final RegionInfo regionInfo) throws IOException {}<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>   * Called after the region has been marked offline.<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * @param ctx the environment to interact with the framework and master<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * @param regionInfo<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  default void postRegionOffline(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      final RegionInfo regionInfo) throws IOException {}<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>   * Called prior to requesting rebalancing of the cluster regions, though after<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   * the initial checks for regions in transition and the balance switch flag.<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * @param ctx the environment to interact with the framework and master<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  default void preBalance(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      throws IOException {}<a name="line.457"></a>
+<span class="sourceLineNo">420</span>   */<a name="line.420"></a>
+<span class="sourceLineNo">421</span>  default void preGetProcedures(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      throws IOException {}<a name="line.422"></a>
+<span class="sourceLineNo">423</span><a name="line.423"></a>
+<span class="sourceLineNo">424</span>  /**<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   * Called after a getProcedures request has been processed.<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * @param ctx the environment to interact with the framework and master<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   */<a name="line.427"></a>
+<span class="sourceLineNo">428</span>  default void postGetProcedures(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      throws IOException {}<a name="line.429"></a>
+<span class="sourceLineNo">430</span><a name="line.430"></a>
+<span class="sourceLineNo">431</span>  /**<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   * Called before a getLocks request has been processed.<a name="line.432"></a>
+<span class="sourceLineNo">433</span>   * @param ctx the environment to interact with the framework and master<a name="line.433"></a>
+<span class="sourceLineNo">434</span>   * @throws IOException if something went wrong<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   */<a name="line.435"></a>
+<span class="sourceLineNo">436</span>  default void preGetLocks(ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      throws IOException {}<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>   * Called after a getLocks request has been processed.<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   * @param ctx the environment to interact with the framework and master<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   * @throws IOException if something went wrong<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   */<a name="line.443"></a>
+<span class="sourceLineNo">444</span>  default void postGetLocks(<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx) throws IOException {}<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>   * Called prior to moving a given region from one region server to another.<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   * @param ctx the environment to interact with the framework and master<a name="line.449"></a>
+<span class="sourceLineNo">450</span>   * @param region the RegionInfo<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   * @param srcServer the source ServerName<a name="line.451"></a>
+<span class="sourceLineNo">452</span>   * @param destServer the destination ServerName<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   */<a name="line.453"></a>
+<span class="sourceLineNo">454</span>  default void preMove(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.454"></a>
+<span class="sourceLineNo">455</span>      final RegionInfo region, final ServerName srcServer,<a name="line.455"></a>
+<span class="sourceLineNo">456</span>      final ServerName destServer)<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    throws IOException {}<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>   * Called after the balancing plan has been submitted.<a name="line.460"></a>
+<span class="sourceLineNo">460</span>   * Called after the region move has been requested.<a name="line.460"></a>
 <span class="sourceLineNo">461</span>   * @param ctx the environment to interact with the framework and master<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   * @param plans the RegionPlans which master has executed. RegionPlan serves as hint<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   * as for the final destination for the underlying region but may not represent the<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * final state of assignment<a name="line.464"></a>
+<span class="sourceLineNo">462</span>   * @param region the RegionInfo<a name="line.462"></a>
+<span class="sourceLineNo">463</span>   * @param srcServer the source ServerName<a name="line.463"></a>
+<span class="sourceLineNo">464</span>   * @param destServer the destination ServerName<a name="line.464"></a>
 <span class="sourceLineNo">465</span>   */<a name="line.465"></a>
-<span class="sourceLineNo">466</span>  default void postBalance(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, List&lt;RegionPlan&gt; plans)<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      throws IOException {}<a name="line.467"></a>
-<span class="sourceLineNo">468</span><a name="line.468"></a>
-<span class="sourceLineNo">469</span>  /**<a name="line.469"></a>
-<span class="sourceLineNo">470</span>   * Called prior to setting split / merge switch<a name="line.470"></a>
-<span class="sourceLineNo">471</span>   * Supports Coprocessor 'bypass'.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>   * @param ctx the coprocessor instance's environment<a name="line.472"></a>
-<span class="sourceLineNo">473</span>   * @param newValue the new value submitted in the call<a name="line.473"></a>
-<span class="sourceLineNo">474</span>   * @param switchType type of switch<a name="line.474"></a>
+<span class="sourceLineNo">466</span>  default void postMove(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      final RegionInfo region, final ServerName srcServer,<a name="line.467"></a>
+<span class="sourceLineNo">468</span>      final ServerName destServer)<a name="line.468"></a>
+<span class="sourceLineNo">469</span>    throws IOException {}<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>   * Called prior to assigning a specific region.<a name="line.472"></a>
+<span class="sourceLineNo">473</span>   * @param ctx the environment to interact with the framework and master<a name="line.473"></a>
+<span class="sourceLineNo">474</span>   * @param regionInfo the regionInfo of the region<a name="line.474"></a>
 <span class="sourceLineNo">475</span>   */<a name="line.475"></a>
-<span class="sourceLineNo">476</span>  default void preSetSplitOrMergeEnabled(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      final boolean newValue, final MasterSwitchType switchType) throws IOException {}<a name="line.477"></a>
+<span class="sourceLineNo">476</span>  default void preAssign(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.476"></a>
+<span class="sourceLineNo">477</span>      final RegionInfo regionInfo) throws IOException {}<a name="line.477"></a>
 <span class="sourceLineNo">478</span><a name="line.478"></a>
 <span class="sourceLineNo">479</span>  /**<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * Called after setting split / merge switch<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * @param ctx the coprocessor instance's environment<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * @param newValue the new value submitted in the call<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * @param switchType type of switch<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   */<a name="line.484"></a>
-<span class="sourceLineNo">485</span>  default void postSetSplitOrMergeEnabled(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      final boolean newValue, final MasterSwitchType switchType) throws IOException {}<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>   * Called before the split region procedure is called.<a name="line.489"></a>
-<span class="sourceLineNo">490</span>   * @param c the environment to interact with the framework and master<a name="line.490"></a>
-<span class="sourceLineNo">491</span>   * @param tableName the table where the region belongs to<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * @param splitRow split point<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   */<a name="line.493"></a>
-<span class="sourceLineNo">494</span>  default void preSplitRegion(<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      final TableName tableName,<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      final byte[] splitRow)<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      throws IOException {}<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>   * Called before the region is split.<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * @param c the environment to interact with the framework and master<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * @param tableName the table where the region belongs to<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * @param splitRow split point<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   */<a name="line.505"></a>
-<span class="sourceLineNo">506</span>  default void preSplitRegionAction(<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      final TableName tableName,<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      final byte[] splitRow)<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      throws IOException {}<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>   * Called after the region is split.<a name="line.513"></a>
-<span class="sourceLineNo">514</span>   * @param c the environment to interact with the framework and master<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * @param regionInfoA the left daughter region<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * @param regionInfoB the right daughter region<a name="line.516"></a>
+<span class="sourceLineNo">480</span>   * Called after the region assignment has been requested.<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   * @param ctx the environment to interact with the framework and master<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   * @param regionInfo the regionInfo of the region<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   */<a name="line.483"></a>
+<span class="sourceLineNo">484</span>  default void postAssign(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.484"></a>
+<span class="sourceLineNo">485</span>      final RegionInfo regionInfo) throws IOException {}<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>   * Called prior to unassigning a given region.<a name="line.488"></a>
+<span class="sourceLineNo">489</span>   * @param ctx the environment to interact with the framework and master<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * @param regionInfo<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   * @param force whether to force unassignment or not<a name="line.491"></a>
+<span class="sourceLineNo">492</span>   */<a name="line.492"></a>
+<span class="sourceLineNo">493</span>  default void preUnassign(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      final RegionInfo regionInfo, final boolean force) throws IOException {}<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>  /**<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * Called after the region unassignment has been requested.<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * @param ctx the environment to interact with the framework and master<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * @param regionInfo<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * @param force whether to force unassignment or not<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   */<a name="line.501"></a>
+<span class="sourceLineNo">502</span>  default void postUnassign(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.502"></a>
+<span class="sourceLineNo">503</span>      final RegionInfo regionInfo, final boolean force) throws IOException {}<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>   * Called prior to marking a given region as offline.<a name="line.506"></a>
+<span class="sourceLineNo">507</span>   * @param ctx the environment to interact with the framework and master<a name="line.507"></a>
+<span class="sourceLineNo">508</span>   * @param regionInfo<a name="line.508"></a>
+<span class="sourceLineNo">509</span>   */<a name="line.509"></a>
+<span class="sourceLineNo">510</span>  default void preRegionOffline(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.510"></a>
+<span class="sourceLineNo">511</span>      final RegionInfo regionInfo) throws IOException {}<a name="line.511"></a>
+<span class="sourceLineNo">512</span><a name="line.512"></a>
+<span class="sourceLineNo">513</span>  /**<a name="line.513"></a>
+<span class="sourceLineNo">514</span>   * Called after the region has been marked offline.<a name="line.514"></a>
+<span class="sourceLineNo">515</span>   * @param ctx the environment to interact with the framework and master<a name="line.515"></a>
+<span class="sourceLineNo">516</span>   * @param regionInfo<a name="line.516"></a>
 <span class="sourceLineNo">517</span>   */<a name="line.517"></a>
-<span class="sourceLineNo">518</span>  default void postCompletedSplitRegionAction(<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      final RegionInfo regionInfoA,<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      final RegionInfo regionInfoB) throws IOException {}<a name="line.521"></a>
-<span class="sourceLineNo">522</span><a name="line.522"></a>
-<span class="sourceLineNo">523</span>  /**<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * This will be called before update META step as part of split transaction.<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   * @param ctx the environment to interact with the framework and master<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   * @param splitKey<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * @param metaEntries<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   */<a name="line.528"></a>
-<span class="sourceLineNo">529</span>  default void preSplitRegionBeforeMETAAction(<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      final byte[] splitKey,<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      final List&lt;Mutation&gt; metaEntries) throws IOException {}<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 name="line.535"></a>
-<span class="sourceLineNo">536</span>   * This will be called after update META step as part of split transaction<a name="line.536"></a>
-<span class="sourceLineNo">537</span>   * @param ctx the environment to interact with the framework and master<a name="line.537"></a>
-<span class="sourceLineNo">538</span>   */<a name="line.538"></a>
-<span class="sourceLineNo">539</span>  default void preSplitRegionAfterMETAAction(<a name="line.539"></a>
-<span class="sourceLineNo">540</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<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>  /**<a name="line.543"></a>
-<span class="sourceLineNo">544</span>   * This will be called after the roll back of the split region is completed<a name="line.544"></a>
-<span class="sourceLineNo">545</span>   * @param ctx the environment to interact with the framework and master<a name="line.545"></a>
-<span class="sourceLineNo">546</span>   */<a name="line.546"></a>
-<span class="sourceLineNo">547</span>  default void postRollBackSplitRegionAction(<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      throws IOException {}<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>   * Called before the regions merge.<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * @param ctx the environment to interact with the framework and master<a name="line.553"></a>
+<span class="sourceLineNo">518</span>  default void postRegionOffline(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.518"></a>
+<span class="sourceLineNo">519</span>      final RegionInfo regionInfo) throws IOException {}<a name="line.519"></a>
+<span class="sourceLineNo">520</span><a name="line.520"></a>
+<span class="sourceLineNo">521</span>  /**<a name="line.521"></a>
+<span class="sourceLineNo">522</span>   * Called prior to requesting rebalancing of the cluster regions, though after<a name="line.522"></a>
+<span class="sourceLineNo">523</span>   * the initial checks for regions in transition and the balance switch flag.<a name="line.523"></a>
+<span class="sourceLineNo">524</span>   * @param ctx the environment to interact with the framework and master<a name="line.524"></a>
+<span class="sourceLineNo">525</span>   */<a name="line.525"></a>
+<span class="sourceLineNo">526</span>  default void preBalance(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.526"></a>
+<span class="sourceLineNo">527</span>      throws IOException {}<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span>  /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * Called after the balancing plan has been submitted.<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   * @param ctx the environment to interact with the framework and master<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   * @param plans the RegionPlans which master has executed. RegionPlan serves as hint<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   * as for the final destination for the underlying region but may not represent the<a name="line.533"></a>
+<span class="sourceLineNo">534</span>   * final state of assignment<a name="line.534"></a>
+<span class="sourceLineNo">535</span>   */<a name="line.535"></a>
+<span class="sourceLineNo">536</span>  default void postBalance(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx, List&lt;RegionPlan&gt; plans)<a name="line.536"></a>
+<span class="sourceLineNo">537</span>      throws IOException {}<a name="line.537"></a>
+<span class="sourceLineNo">538</span><a name="line.538"></a>
+<span class="sourceLineNo">539</span>  /**<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   * Called prior to setting split / merge switch<a name="line.540"></a>
+<span class="sourceLineNo">541</span>   * Supports Coprocessor 'bypass'.<a name="line.541"></a>
+<span class="sourceLineNo">542</span>   * @param ctx the coprocessor instance's environment<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   * @param newValue the new value submitted in the call<a name="line.543"></a>
+<span class="sourceLineNo">544</span>   * @param switchType type of switch<a name="line.544"></a>
+<span class="sourceLineNo">545</span>   */<a name="line.545"></a>
+<span class="sourceLineNo">546</span>  default void preSetSplitOrMergeEnabled(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.546"></a>
+<span class="sourceLineNo">547</span>      final boolean newValue, final MasterSwitchType switchType) throws IOException {}<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>   * Called after setting split / merge switch<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * @param ctx the coprocessor instance's environment<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * @param newValue the new value submitted in the call<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   * @param switchType type of switch<a name="line.553"></a>
 <span class="sourceLineNo">554</span>   */<a name="line.554"></a>
-<span class="sourceLineNo">555</span>  default void preMergeRegionsAction(<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      final RegionInfo[] regionsToMerge) throws IOException {}<a name="line.557"></a>
-<span class="sourceLineNo">558</span><a name="line.558"></a>
-<span class="sourceLineNo">559</span>  /**<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   * called after the regions merge.<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   * @param ctx the environment to interact with the framework and master<a name="line.561"></a>
-<span class="sourceLineNo">562</span>   */<a name="line.562"></a>
-<span class="sourceLineNo">563</span>  default void postCompletedMergeRegionsAction(<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.564"></a>
-<span class="sourceLineNo">565</span>      final RegionInfo[] regionsToMerge,<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      final RegionInfo mergedRegion) throws IOException {}<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>   * This will be called before update META step as part of regions merge transaction.<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @param ctx the environment to interact with the framework and master<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * @param metaEntries mutations to execute on hbase:meta atomically with regions merge updates.<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   *        Any puts or deletes to execute on hbase:meta can be added to the mutations.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>   */<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  default void preMergeRegionsCommitAction(<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      final RegionInfo[] regionsToMerge,<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      @MetaMutationAnnotation List&lt;Mutation&gt; metaEntries) throws IOException {}<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span>  /**<a name="line.579"></a>
-<span class="sourceLineNo">580</span>   * This will be called after META step as part of regions merge transaction.<a name="line.580"></a>
-<span class="sourceLineNo">581</span>   * @param ctx the environment to interact with the framework and master<a name="line.581"></a>
-<span class="sourceLineNo">582</span>   */<a name="line.582"></a>
-<span class="sourceLineNo">583</span>  default void postMergeRegionsCommitAction(<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      final RegionInfo[] regionsToMerge,<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      final RegionInfo mergedRegion) throws IOException {}<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span>  /**<a name="line.588"></a>
-<span class="sourceLineNo">589</span>   * This will be called after the roll back of the regions merge.<a name="line.589"></a>
-<span class="sourceLineNo">590</span>   * @param ctx the environment to interact with the framework and master<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   */<a name="line.591"></a>
-<span class="sourceLineNo">592</span>  default void postRollBackMergeRegionsAction(<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      final RegionInfo[] regionsToMerge) throws IOException {}<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>   * Called prior to modifying the flag used to enable/disable region balancing.<a name="line.597"></a>
-<span class="sourceLineNo">598</span>   * @param ctx the coprocessor instance's environment<a name="line.598"></a>
-<span class="sourceLineNo">599</span>   */<a name="line.599"></a>
-<span class="sourceLineNo">600</span>  default void preBalanceSwitch(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      final boolean newValue) throws IOException {}<a name="line.601"></a>
-<span class="sourceLineNo">602</span><a name="line.602"></a>
-<span class="sourceLineNo">603</span>  /**<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * Called after the flag to enable/disable balancing has changed.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   * @param ctx the coprocessor instance's environment<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * @param oldValue the previously set balanceSwitch value<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * @param newValue the newly set balanceSwitch value<a name="line.607"></a>
+<span class="sourceLineNo">555</span>  default void postSetSplitOrMergeEnabled(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.555"></a>
+<span class="sourceLineNo">556</span>      final boolean newValue, final MasterSwitchType switchType) throws IOException {}<a name="line.556"></a>
+<span class="sourceLineNo">557</span><a name="line.557"></a>
+<span class="sourceLineNo">558</span>  /**<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   * Called before the split region procedure is called.<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   * @param c the environment to interact with the framework and master<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   * @param tableName the table where the region belongs to<a name="line.561"></a>
+<span class="sourceLineNo">562</span>   * @param splitRow split point<a name="line.562"></a>
+<span class="sourceLineNo">563</span>   */<a name="line.563"></a>
+<span class="sourceLineNo">564</span>  default void preSplitRegion(<a name="line.564"></a>
+<span class="sourceLineNo">565</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.565"></a>
+<span class="sourceLineNo">566</span>      final TableName tableName,<a name="line.566"></a>
+<span class="sourceLineNo">567</span>      final byte[] splitRow)<a name="line.567"></a>
+<span class="sourceLineNo">568</span>      throws IOException {}<a name="line.568"></a>
+<span class="sourceLineNo">569</span><a name="line.569"></a>
+<span class="sourceLineNo">570</span>  /**<a name="line.570"></a>
+<span class="sourceLineNo">571</span>   * Called before the region is split.<a name="line.571"></a>
+<span class="sourceLineNo">572</span>   * @param c the environment to interact with the framework and master<a name="line.572"></a>
+<span class="sourceLineNo">573</span>   * @param tableName the table where the region belongs to<a name="line.573"></a>
+<span class="sourceLineNo">574</span>   * @param splitRow split point<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   */<a name="line.575"></a>
+<span class="sourceLineNo">576</span>  default void preSplitRegionAction(<a name="line.576"></a>
+<span class="sourceLineNo">577</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.577"></a>
+<span class="sourceLineNo">578</span>      final TableName tableName,<a name="line.578"></a>
+<span class="sourceLineNo">579</span>      final byte[] splitRow)<a name="line.579"></a>
+<span class="sourceLineNo">580</span>      throws IOException {}<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>   * Called after the region is split.<a name="line.583"></a>
+<span class="sourceLineNo">584</span>   * @param c the environment to interact with the framework and master<a name="line.584"></a>
+<span class="sourceLineNo">585</span>   * @param regionInfoA the left daughter region<a name="line.585"></a>
+<span class="sourceLineNo">586</span>   * @param regionInfoB the right daughter region<a name="line.586"></a>
+<span class="sourceLineNo">587</span>   */<a name="line.587"></a>
+<span class="sourceLineNo">588</span>  default void postCompletedSplitRegionAction(<a name="line.588"></a>
+<span class="sourceLineNo">589</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; c,<a name="line.589"></a>
+<span class="sourceLineNo">590</span>      final RegionInfo regionInfoA,<a name="line.590"></a>
+<span class="sourceLineNo">591</span>      final RegionInfo regionInfoB) throws IOException {}<a name="line.591"></a>
+<span class="sourceLineNo">592</span><a name="line.592"></a>
+<span class="sourceLineNo">593</span>  /**<a name="line.593"></a>
+<span class="sourceLineNo">594</span>   * This will be called before update META step as part of split transaction.<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   * @param ctx the environment to interact with the framework and master<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * @param splitKey<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * @param metaEntries<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   */<a name="line.598"></a>
+<span class="sourceLineNo">599</span>  default void preSplitRegionBeforeMETAAction(<a name="line.599"></a>
+<span class="sourceLineNo">600</span>      final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.600"></a>
+<span class="sourceLineNo">601</span>      final byte[] splitKey,<a name="line.601"></a>
+<span class="sourceLineNo">602</span>      final List&lt;Mutation&gt; metaEntries) throws IOException {}<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>   * This will be called after update META step as part of split transaction<a name="line.606"></a>
+<span class="sourceLineNo">607</span>   * @param ctx the environment to interact with the framework and master<a name="line.607"></a>
 <span class="sourceLineNo">608</span>   */<a name="line.608"></a>
-<span class="sourceLineNo">609</span>  default void postBalanceSwitch(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      final boolean oldValue, final boolean newValue) throws IOException {}<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>   * Called prior to shutting down the full HBase cluster, including this<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * {@link org.apache.hadoop.hbase.master.HMaster} process.<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   */<a name="line.615"></a>
-<span class="sourceLineNo">616</span>  default void preShutdown(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.616"></a>
-<span class="sourceLineNo">617</span>      throws IOException {}<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>  /**<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * Called immediately prior to stopping this<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   * {@link org.apache.hadoop.hbase.master.HMaster} process.<a name="line.622"></a>
-<span class="sourceLineNo">623</span>   */<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  default void preStopMaster(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      throws IOException {}<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>   * Called immediately after an active master instance has completed<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * initialization.  Will not be called on standby master instances unless<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * they take over the active role.<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   */<a name="line.631"></a>
-<span class="sourceLineNo">632</span>  default void postStartMaster(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<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>  /**<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * Call before the master initialization is set to true.<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * {@link org.apache.hadoop.hbase.master.HMaster} process.<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   */<a name="line.638"></a>
-<span class="sourceLineNo">639</span>  default void preMasterInitialization(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx)<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      throws IOException {}<a name="line.640"></a>
-<span class="sourceLineNo">641</span><a name="line.641"></a>
-<span class="sourceLineNo">642</span>  /**<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * Called before a new snapshot is taken.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * Called as part of snapshot RPC call.<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param ctx the environment to interact with the framework and master<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   * @param snapshot the SnapshotDescriptor for the snapshot<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   * @param tableDescriptor the TableDescriptor of the table to snapshot<a name="line.647"></a>
-<span class="sourceLineNo">648</span>   */<a name="line.648"></a>
-<span class="sourceLineNo">649</span>  default void preSnapshot(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      final SnapshotDescription snapshot, final TableDescriptor tableDescriptor)<a name="line.650"></a>
-<span class="sourceLineNo">651</span>      throws IOException {}<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>  /**<a name="line.653"></a>
-<span class="sourceLineNo">654</span>   * Called after the snapshot operation has been requested.<a name="line.654"></a>
-<span class="sourceLineNo">655</span>   * Called as part of snapshot RPC call.<a name="line.655"></a>
-<span class="sourceLineNo">656</span>   * @param ctx the environment to interact with the framework and master<a name="line.656"></a>
-<span class="sourceLineNo">657</span>   * @param snapshot the SnapshotDescriptor for the snapshot<a name="line.657"></a>
-<span class="sourceLineNo">658</span>   * @param tableDescriptor the TableDescriptor of the table to snapshot<a name="line.658"></a>
-<span class="sourceLineNo">659</span>   */<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  default void postSnapshot(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      final SnapshotDescription snapshot, final TableDescriptor tableDescriptor)<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      throws IOException {}<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>   * Called before listSnapshots request has been processed.<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   * @param ctx the environment to interact with the framework and master<a name="line.666"></a>
-<span class="sourceLineNo">667</span>   * @param snapshot the SnapshotDescriptor of the snapshot to list<a name="line.667"></a>
-<span class="sourceLineNo">668</span>   */<a name="line.668"></a>
-<span class="sourceLineNo">669</span>  default void preListSnapshot(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      final SnapshotDescription snapshot) throws IOException {}<a name="line.670"></a>
-<span class="sourceLineNo">671</span><a name="line.671"></a>
-<span class="sourceLineNo">672</span>  /**<a name="line.672"></a>
-<span class="sourceLineNo">673</span>   * Called after listSnapshots request has been processed.<a name="line.673"></a>
-<span class="sourceLineNo">674</span>   * @param ctx the environment to interact with the framework and master<a name="line.674"></a>
-<span class="sourceLineNo">675</span>   * @param snapshot the SnapshotDescriptor of the snapshot to list<a name="line.675"></a>
-<span class="sourceLineNo">676</span>   */<a name="line.676"></a>
-<span class="sourceLineNo">677</span>  default void postListSnapshot(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      final SnapshotDescription snapshot) throws IOException {}<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>  /**<a name="line.680"></a>
-<span class="sourceLineNo">681</span>   * Called before a snapshot is cloned.<a name="line.681"></a>
-<span class="sourceLineNo">682</span>   * Called as part of restoreSnapshot RPC call.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>   * @param ctx the environment to interact with the framework and master<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   * @param snapshot the SnapshotDescriptor for the snapshot<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   * @param tableDescriptor the TableDescriptor of the table to create<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   */<a name="line.686"></a>
-<span class="sourceLineNo">687</span>  default void preCloneSnapshot(final ObserverContext&lt;MasterCoprocessorEnvironment&gt; ctx,<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      final SnapshotDescription snapshot, final TableDescriptor tableDescriptor)<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      throws IOException {}<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>   * Called after a snapshot clone operation has been requested.<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * Called as part of restoreSnapshot RPC call.<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @param ctx the environment to interact with the framework and master<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @param snapshot the SnapshotDescriptor for the snapshot<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * @param tableDescript

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/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 a97dfdc..2b1b6c6 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.html
@@ -2370,1287 +2370,1292 @@
 <span class="sourceLineNo">2362</span>  }<a name="line.2362"></a>
 <span class="sourceLineNo">2363</span><a name="line.2363"></a>
 <span class="sourceLineNo">2364</span>  @Override<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>  public long modifyTable(final TableName tableName, final TableDescriptor descriptor,<a name="line.2365"></a>
+<span class="sourceLineNo">2365</span>  public long modifyTable(final TableName tableName, final TableDescriptor newDescriptor,<a name="line.2365"></a>
 <span class="sourceLineNo">2366</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2366"></a>
 <span class="sourceLineNo">2367</span>    checkInitialized();<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>    sanityCheckTableDescriptor(descriptor);<a name="line.2368"></a>
+<span class="sourceLineNo">2368</span>    sanityCheckTableDescriptor(newDescriptor);<a name="line.2368"></a>
 <span class="sourceLineNo">2369</span><a name="line.2369"></a>
 <span class="sourceLineNo">2370</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2370"></a>
 <span class="sourceLineNo">2371</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2371"></a>
 <span class="sourceLineNo">2372</span>      @Override<a name="line.2372"></a>
 <span class="sourceLineNo">2373</span>      protected void run() throws IOException {<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>        getMaster().getMasterCoprocessorHost().preModifyTable(tableName, descriptor);<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span><a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>        LOG.info(getClientIdAuditPrefix() + " modify " + tableName);<a name="line.2376"></a>
+<span class="sourceLineNo">2374</span>        TableDescriptor oldDescriptor = getMaster().getTableDescriptors().get(tableName);<a name="line.2374"></a>
+<span class="sourceLineNo">2375</span>        getMaster().getMasterCoprocessorHost()<a name="line.2375"></a>
+<span class="sourceLineNo">2376</span>          .preModifyTable(tableName, oldDescriptor, newDescriptor);<a name="line.2376"></a>
 <span class="sourceLineNo">2377</span><a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>        // Execute the operation synchronously - wait for the operation completes before continuing.<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>        //<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>        submitProcedure(new ModifyTableProcedure(procedureExecutor.getEnvironment(),<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>            descriptor, latch));<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>        latch.await();<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span><a name="line.2386"></a>
-<span class="sourceLineNo">2387</span>        getMaster().getMasterCoprocessorHost().postModifyTable(tableName, descriptor);<a name="line.2387"></a>
-<span class="sourceLineNo">2388</span>      }<a name="line.2388"></a>
-<span class="sourceLineNo">2389</span><a name="line.2389"></a>
-<span class="sourceLineNo">2390</span>      @Override<a name="line.2390"></a>
-<span class="sourceLineNo">2391</span>      protected String getDescription() {<a name="line.2391"></a>
-<span class="sourceLineNo">2392</span>        return "ModifyTableProcedure";<a name="line.2392"></a>
-<span class="sourceLineNo">2393</span>      }<a name="line.2393"></a>
-<span class="sourceLineNo">2394</span>    });<a name="line.2394"></a>
-<span class="sourceLineNo">2395</span>  }<a name="line.2395"></a>
-<span class="sourceLineNo">2396</span><a name="line.2396"></a>
-<span class="sourceLineNo">2397</span>  public long restoreSnapshot(final SnapshotDescription snapshotDesc,<a name="line.2397"></a>
-<span class="sourceLineNo">2398</span>      final long nonceGroup, final long nonce, final boolean restoreAcl) throws IOException {<a name="line.2398"></a>
-<span class="sourceLineNo">2399</span>    checkInitialized();<a name="line.2399"></a>
-<span class="sourceLineNo">2400</span>    getSnapshotManager().checkSnapshotSupport();<a name="line.2400"></a>
-<span class="sourceLineNo">2401</span><a name="line.2401"></a>
-<span class="sourceLineNo">2402</span>    // Ensure namespace exists. Will throw exception if non-known NS.<a name="line.2402"></a>
-<span class="sourceLineNo">2403</span>    final TableName dstTable = TableName.valueOf(snapshotDesc.getTable());<a name="line.2403"></a>
-<span class="sourceLineNo">2404</span>    getClusterSchema().getNamespace(dstTable.getNamespaceAsString());<a name="line.2404"></a>
-<span class="sourceLineNo">2405</span><a name="line.2405"></a>
-<span class="sourceLineNo">2406</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2406"></a>
-<span class="sourceLineNo">2407</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2407"></a>
-<span class="sourceLineNo">2408</span>      @Override<a name="line.2408"></a>
-<span class="sourceLineNo">2409</span>      protected void run() throws IOException {<a name="line.2409"></a>
-<span class="sourceLineNo">2410</span>          setProcId(<a name="line.2410"></a>
-<span class="sourceLineNo">2411</span>            getSnapshotManager().restoreOrCloneSnapshot(snapshotDesc, getNonceKey(), restoreAcl));<a name="line.2411"></a>
-<span class="sourceLineNo">2412</span>      }<a name="line.2412"></a>
-<span class="sourceLineNo">2413</span><a name="line.2413"></a>
-<span class="sourceLineNo">2414</span>      @Override<a name="line.2414"></a>
-<span class="sourceLineNo">2415</span>      protected String getDescription() {<a name="line.2415"></a>
-<span class="sourceLineNo">2416</span>        return "RestoreSnapshotProcedure";<a name="line.2416"></a>
-<span class="sourceLineNo">2417</span>      }<a name="line.2417"></a>
-<span class="sourceLineNo">2418</span>    });<a name="line.2418"></a>
-<span class="sourceLineNo">2419</span>  }<a name="line.2419"></a>
-<span class="sourceLineNo">2420</span><a name="line.2420"></a>
-<span class="sourceLineNo">2421</span>  private void checkTableExists(final TableName tableName)<a name="line.2421"></a>
-<span class="sourceLineNo">2422</span>      throws IOException, TableNotFoundException {<a name="line.2422"></a>
-<span class="sourceLineNo">2423</span>    if (!MetaTableAccessor.tableExists(getConnection(), tableName)) {<a name="line.2423"></a>
-<span class="sourceLineNo">2424</span>      throw new TableNotFoundException(tableName);<a name="line.2424"></a>
-<span class="sourceLineNo">2425</span>    }<a name="line.2425"></a>
-<span class="sourceLineNo">2426</span>  }<a name="line.2426"></a>
-<span class="sourceLineNo">2427</span><a name="line.2427"></a>
-<span class="sourceLineNo">2428</span>  @Override<a name="line.2428"></a>
-<span class="sourceLineNo">2429</span>  public void checkTableModifiable(final TableName tableName)<a name="line.2429"></a>
-<span class="sourceLineNo">2430</span>      throws IOException, TableNotFoundException, TableNotDisabledException {<a name="line.2430"></a>
-<span class="sourceLineNo">2431</span>    if (isCatalogTable(tableName)) {<a name="line.2431"></a>
-<span class="sourceLineNo">2432</span>      throw new IOException("Can't modify catalog tables");<a name="line.2432"></a>
-<span class="sourceLineNo">2433</span>    }<a name="line.2433"></a>
-<span class="sourceLineNo">2434</span>    checkTableExists(tableName);<a name="line.2434"></a>
-<span class="sourceLineNo">2435</span>    TableState ts = getTableStateManager().getTableState(tableName);<a name="line.2435"></a>
-<span class="sourceLineNo">2436</span>    if (!ts.isDisabled()) {<a name="line.2436"></a>
-<span class="sourceLineNo">2437</span>      throw new TableNotDisabledException("Not DISABLED; " + ts);<a name="line.2437"></a>
-<span class="sourceLineNo">2438</span>    }<a name="line.2438"></a>
-<span class="sourceLineNo">2439</span>  }<a name="line.2439"></a>
-<span class="sourceLineNo">2440</span><a name="line.2440"></a>
-<span class="sourceLineNo">2441</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor() throws InterruptedIOException {<a name="line.2441"></a>
-<span class="sourceLineNo">2442</span>    return getClusterMetricsWithoutCoprocessor(EnumSet.allOf(Option.class));<a name="line.2442"></a>
-<span class="sourceLineNo">2443</span>  }<a name="line.2443"></a>
-<span class="sourceLineNo">2444</span><a name="line.2444"></a>
-<span class="sourceLineNo">2445</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor(EnumSet&lt;Option&gt; options)<a name="line.2445"></a>
-<span class="sourceLineNo">2446</span>      throws InterruptedIOException {<a name="line.2446"></a>
-<span class="sourceLineNo">2447</span>    ClusterMetricsBuilder builder = ClusterMetricsBuilder.newBuilder();<a name="line.2447"></a>
-<span class="sourceLineNo">2448</span>    // given that hbase1 can't submit the request with Option,<a name="line.2448"></a>
-<span class="sourceLineNo">2449</span>    // we return all information to client if the list of Option is empty.<a name="line.2449"></a>
-<span class="sourceLineNo">2450</span>    if (options.isEmpty()) {<a name="line.2450"></a>
-<span class="sourceLineNo">2451</span>      options = EnumSet.allOf(Option.class);<a name="line.2451"></a>
-<span class="sourceLineNo">2452</span>    }<a name="line.2452"></a>
-<span class="sourceLineNo">2453</span><a name="line.2453"></a>
-<span class="sourceLineNo">2454</span>    for (Option opt : options) {<a name="line.2454"></a>
-<span class="sourceLineNo">2455</span>      switch (opt) {<a name="line.2455"></a>
-<span class="sourceLineNo">2456</span>        case HBASE_VERSION: builder.setHBaseVersion(VersionInfo.getVersion()); break;<a name="line.2456"></a>
-<span class="sourceLineNo">2457</span>        case CLUSTER_ID: builder.setClusterId(getClusterId()); break;<a name="line.2457"></a>
-<span class="sourceLineNo">2458</span>        case MASTER: builder.setMasterName(getServerName()); break;<a name="line.2458"></a>
-<span class="sourceLineNo">2459</span>        case BACKUP_MASTERS: builder.setBackerMasterNames(getBackupMasters()); break;<a name="line.2459"></a>
-<span class="sourceLineNo">2460</span>        case LIVE_SERVERS: {<a name="line.2460"></a>
-<span class="sourceLineNo">2461</span>          if (serverManager != null) {<a name="line.2461"></a>
-<span class="sourceLineNo">2462</span>            builder.setLiveServerMetrics(serverManager.getOnlineServers().entrySet().stream()<a name="line.2462"></a>
-<span class="sourceLineNo">2463</span>              .collect(Collectors.toMap(e -&gt; e.getKey(), e -&gt; e.getValue())));<a name="line.2463"></a>
-<span class="sourceLineNo">2464</span>          }<a name="line.2464"></a>
-<span class="sourceLineNo">2465</span>          break;<a name="line.2465"></a>
-<span class="sourceLineNo">2466</span>        }<a name="line.2466"></a>
-<span class="sourceLineNo">2467</span>        case DEAD_SERVERS: {<a name="line.2467"></a>
-<span class="sourceLineNo">2468</span>          if (serverManager != null) {<a name="line.2468"></a>
-<span class="sourceLineNo">2469</span>            builder.setDeadServerNames(new ArrayList&lt;&gt;(<a name="line.2469"></a>
-<span class="sourceLineNo">2470</span>              serverManager.getDeadServers().copyServerNames()));<a name="line.2470"></a>
-<span class="sourceLineNo">2471</span>          }<a name="line.2471"></a>
-<span class="sourceLineNo">2472</span>          break;<a name="line.2472"></a>
-<span class="sourceLineNo">2473</span>        }<a name="line.2473"></a>
-<span class="sourceLineNo">2474</span>        case MASTER_COPROCESSORS: {<a name="line.2474"></a>
-<span class="sourceLineNo">2475</span>          if (cpHost != null) {<a name="line.2475"></a>
-<span class="sourceLineNo">2476</span>            builder.setMasterCoprocessorNames(Arrays.asList(getMasterCoprocessors()));<a name="line.2476"></a>
-<span class="sourceLineNo">2477</span>          }<a name="line.2477"></a>
-<span class="sourceLineNo">2478</span>          break;<a name="line.2478"></a>
-<span class="sourceLineNo">2479</span>        }<a name="line.2479"></a>
-<span class="sourceLineNo">2480</span>        case REGIONS_IN_TRANSITION: {<a name="line.2480"></a>
-<span class="sourceLineNo">2481</span>          if (assignmentManager != null) {<a name="line.2481"></a>
-<span class="sourceLineNo">2482</span>            builder.setRegionsInTransition(assignmentManager.getRegionStates()<a name="line.2482"></a>
-<span class="sourceLineNo">2483</span>                .getRegionsStateInTransition());<a name="line.2483"></a>
-<span class="sourceLineNo">2484</span>          }<a name="line.2484"></a>
-<span class="sourceLineNo">2485</span>          break;<a name="line.2485"></a>
-<span class="sourceLineNo">2486</span>        }<a name="line.2486"></a>
-<span class="sourceLineNo">2487</span>        case BALANCER_ON: {<a name="line.2487"></a>
-<span class="sourceLineNo">2488</span>          if (loadBalancerTracker != null) {<a name="line.2488"></a>
-<span class="sourceLineNo">2489</span>            builder.setBalancerOn(loadBalancerTracker.isBalancerOn());<a name="line.2489"></a>
-<span class="sourceLineNo">2490</span>          }<a name="line.2490"></a>
-<span class="sourceLineNo">2491</span>          break;<a name="line.2491"></a>
-<span class="sourceLineNo">2492</span>        }<a name="line.2492"></a>
-<span class="sourceLineNo">2493</span>        case MASTER_INFO_PORT: {<a name="line.2493"></a>
-<span class="sourceLineNo">2494</span>          if (infoServer != null) {<a name="line.2494"></a>
-<span class="sourceLineNo">2495</span>            builder.setMasterInfoPort(infoServer.getPort());<a name="line.2495"></a>
-<span class="sourceLineNo">2496</span>          }<a name="line.2496"></a>
-<span class="sourceLineNo">2497</span>          break;<a name="line.2497"></a>
-<span class="sourceLineNo">2498</span>        }<a name="line.2498"></a>
-<span class="sourceLineNo">2499</span>      }<a name="line.2499"></a>
-<span class="sourceLineNo">2500</span>    }<a name="line.2500"></a>
-<span class="sourceLineNo">2501</span>    return builder.build();<a name="line.2501"></a>
-<span class="sourceLineNo">2502</span>  }<a name="line.2502"></a>
-<span class="sourceLineNo">2503</span><a name="line.2503"></a>
-<span class="sourceLineNo">2504</span>  /**<a name="line.2504"></a>
-<span class="sourceLineNo">2505</span>   * @return cluster status<a name="line.2505"></a>
-<span class="sourceLineNo">2506</span>   */<a name="line.2506"></a>
-<span class="sourceLineNo">2507</span>  public ClusterMetrics getClusterMetrics() throws IOException {<a name="line.2507"></a>
-<span class="sourceLineNo">2508</span>    return getClusterMetrics(EnumSet.allOf(Option.class));<a name="line.2508"></a>
-<span class="sourceLineNo">2509</span>  }<a name="line.2509"></a>
-<span class="sourceLineNo">2510</span><a name="line.2510"></a>
-<span class="sourceLineNo">2511</span>  public ClusterMetrics getClusterMetrics(EnumSet&lt;Option&gt; options) throws IOException {<a name="line.2511"></a>
-<span class="sourceLineNo">2512</span>    if (cpHost != null) {<a name="line.2512"></a>
-<span class="sourceLineNo">2513</span>      cpHost.preGetClusterMetrics();<a name="line.2513"></a>
-<span class="sourceLineNo">2514</span>    }<a name="line.2514"></a>
-<span class="sourceLineNo">2515</span>    ClusterMetrics status = getClusterMetricsWithoutCoprocessor(options);<a name="line.2515"></a>
-<span class="sourceLineNo">2516</span>    if (cpHost != null) {<a name="line.2516"></a>
-<span class="sourceLineNo">2517</span>      cpHost.postGetClusterMetrics(status);<a name="line.2517"></a>
-<span class="sourceLineNo">2518</span>    }<a name="line.2518"></a>
-<span class="sourceLineNo">2519</span>    return status;<a name="line.2519"></a>
-<span class="sourceLineNo">2520</span>  }<a name="line.2520"></a>
-<span class="sourceLineNo">2521</span><a name="line.2521"></a>
-<span class="sourceLineNo">2522</span>  private List&lt;ServerName&gt; getBackupMasters() throws InterruptedIOException {<a name="line.2522"></a>
-<span class="sourceLineNo">2523</span>    // Build Set of backup masters from ZK nodes<a name="line.2523"></a>
-<span class="sourceLineNo">2524</span>    List&lt;String&gt; backupMasterStrings;<a name="line.2524"></a>
-<span class="sourceLineNo">2525</span>    try {<a name="line.2525"></a>
-<span class="sourceLineNo">2526</span>      backupMasterStrings = ZKUtil.listChildrenNoWatch(this.zooKeeper,<a name="line.2526"></a>
-<span class="sourceLineNo">2527</span>        this.zooKeeper.znodePaths.backupMasterAddressesZNode);<a name="line.2527"></a>
-<span class="sourceLineNo">2528</span>    } catch (KeeperException e) {<a name="line.2528"></a>
-<span class="sourceLineNo">2529</span>      LOG.warn(this.zooKeeper.prefix("Unable to list backup servers"), e);<a name="line.2529"></a>
-<span class="sourceLineNo">2530</span>      backupMasterStrings = null;<a name="line.2530"></a>
-<span class="sourceLineNo">2531</span>    }<a name="line.2531"></a>
-<span class="sourceLineNo">2532</span><a name="line.2532"></a>
-<span class="sourceLineNo">2533</span>    List&lt;ServerName&gt; backupMasters = Collections.emptyList();<a name="line.2533"></a>
-<span class="sourceLineNo">2534</span>    if (backupMasterStrings != null &amp;&amp; !backupMasterStrings.isEmpty()) {<a name="line.2534"></a>
-<span class="sourceLineNo">2535</span>      backupMasters = new ArrayList&lt;&gt;(backupMasterStrings.size());<a name="line.2535"></a>
-<span class="sourceLineNo">2536</span>      for (String s: backupMasterStrings) {<a name="line.2536"></a>
-<span class="sourceLineNo">2537</span>        try {<a name="line.2537"></a>
-<span class="sourceLineNo">2538</span>          byte [] bytes;<a name="line.2538"></a>
-<span class="sourceLineNo">2539</span>          try {<a name="line.2539"></a>
-<span class="sourceLineNo">2540</span>            bytes = ZKUtil.getData(this.zooKeeper, ZNodePaths.joinZNode(<a name="line.2540"></a>
-<span class="sourceLineNo">2541</span>                this.zooKeeper.znodePaths.backupMasterAddressesZNode, s));<a name="line.2541"></a>
-<span class="sourceLineNo">2542</span>          } catch (InterruptedException e) {<a name="line.2542"></a>
-<span class="sourceLineNo">2543</span>            throw new InterruptedIOException();<a name="line.2543"></a>
-<span class="sourceLineNo">2544</span>          }<a name="line.2544"></a>
-<span class="sourceLineNo">2545</span>          if (bytes != null) {<a name="line.2545"></a>
-<span class="sourceLineNo">2546</span>            ServerName sn;<a name="line.2546"></a>
-<span class="sourceLineNo">2547</span>            try {<a name="line.2547"></a>
-<span class="sourceLineNo">2548</span>              sn = ProtobufUtil.parseServerNameFrom(bytes);<a name="line.2548"></a>
-<span class="sourceLineNo">2549</span>            } catch (DeserializationException e) {<a name="line.2549"></a>
-<span class="sourceLineNo">2550</span>              LOG.warn("Failed parse, skipping registering backup server", e);<a name="line.2550"></a>
-<span class="sourceLineNo">2551</span>              continue;<a name="line.2551"></a>
-<span class="sourceLineNo">2552</span>            }<a name="line.2552"></a>
-<span class="sourceLineNo">2553</span>            backupMasters.add(sn);<a name="line.2553"></a>
-<span class="sourceLineNo">2554</span>          }<a name="line.2554"></a>
-<span class="sourceLineNo">2555</span>        } catch (KeeperException e) {<a name="line.2555"></a>
-<span class="sourceLineNo">2556</span>          LOG.warn(this.zooKeeper.prefix("Unable to get information about " +<a name="line.2556"></a>
-<span class="sourceLineNo">2557</span>                   "backup servers"), e);<a name="line.2557"></a>
-<span class="sourceLineNo">2558</span>        }<a name="line.2558"></a>
-<span class="sourceLineNo">2559</span>      }<a name="line.2559"></a>
-<span class="sourceLineNo">2560</span>      Collections.sort(backupMasters, new Comparator&lt;ServerName&gt;() {<a name="line.2560"></a>
-<span class="sourceLineNo">2561</span>        @Override<a name="line.2561"></a>
-<span class="sourceLineNo">2562</span>        public int compare(ServerName s1, ServerName s2) {<a name="line.2562"></a>
-<span class="sourceLineNo">2563</span>          return s1.getServerName().compareTo(s2.getServerName());<a name="line.2563"></a>
-<span class="sourceLineNo">2564</span>        }});<a name="line.2564"></a>
-<span class="sourceLineNo">2565</span>    }<a name="line.2565"></a>
-<span class="sourceLineNo">2566</span>    return backupMasters;<a name="line.2566"></a>
-<span class="sourceLineNo">2567</span>  }<a name="line.2567"></a>
-<span class="sourceLineNo">2568</span><a name="line.2568"></a>
-<span class="sourceLineNo">2569</span>  /**<a name="line.2569"></a>
-<span class="sourceLineNo">2570</span>   * The set of loaded coprocessors is stored in a static set. Since it's<a name="line.2570"></a>
-<span class="sourceLineNo">2571</span>   * statically allocated, it does not require that HMaster's cpHost be<a name="line.2571"></a>
-<span class="sourceLineNo">2572</span>   * initialized prior to accessing it.<a name="line.2572"></a>
-<span class="sourceLineNo">2573</span>   * @return a String representation of the set of names of the loaded coprocessors.<a name="line.2573"></a>
-<span class="sourceLineNo">2574</span>   */<a name="line.2574"></a>
-<span class="sourceLineNo">2575</span>  public static String getLoadedCoprocessors() {<a name="line.2575"></a>
-<span class="sourceLineNo">2576</span>    return CoprocessorHost.getLoadedCoprocessors().toString();<a name="line.2576"></a>
-<span class="sourceLineNo">2577</span>  }<a name="line.2577"></a>
-<span class="sourceLineNo">2578</span><a name="line.2578"></a>
-<span class="sourceLineNo">2579</span>  /**<a name="line.2579"></a>
-<span class="sourceLineNo">2580</span>   * @return timestamp in millis when HMaster was started.<a name="line.2580"></a>
-<span class="sourceLineNo">2581</span>   */<a name="line.2581"></a>
-<span class="sourceLineNo">2582</span>  public long getMasterStartTime() {<a name="line.2582"></a>
-<span class="sourceLineNo">2583</span>    return startcode;<a name="line.2583"></a>
-<span class="sourceLineNo">2584</span>  }<a name="line.2584"></a>
-<span class="sourceLineNo">2585</span><a name="line.2585"></a>
-<span class="sourceLineNo">2586</span>  /**<a name="line.2586"></a>
-<span class="sourceLineNo">2587</span>   * @return timestamp in millis when HMaster became the active master.<a name="line.2587"></a>
-<span class="sourceLineNo">2588</span>   */<a name="line.2588"></a>
-<span class="sourceLineNo">2589</span>  public long getMasterActiveTime() {<a name="line.2589"></a>
-<span class="sourceLineNo">2590</span>    return masterActiveTime;<a name="line.2590"></a>
-<span class="sourceLineNo">2591</span>  }<a name="line.2591"></a>
-<span class="sourceLineNo">2592</span><a name="line.2592"></a>
-<span class="sourceLineNo">2593</span>  /**<a name="line.2593"></a>
-<span class="sourceLineNo">2594</span>   * @return timestamp in millis when HMaster finished becoming the active master<a name="line.2594"></a>
-<span class="sourceLineNo">2595</span>   */<a name="line.2595"></a>
-<span class="sourceLineNo">2596</span>  public long getMasterFinishedInitializationTime() {<a name="line.2596"></a>
-<span class="sourceLineNo">2597</span>    return masterFinishedInitializationTime;<a name="line.2597"></a>
-<span class="sourceLineNo">2598</span>  }<a name="line.2598"></a>
-<span class="sourceLineNo">2599</span><a name="line.2599"></a>
-<span class="sourceLineNo">2600</span>  public int getNumWALFiles() {<a name="line.2600"></a>
-<span class="sourceLineNo">2601</span>    return procedureStore != null ? procedureStore.getActiveLogs().size() : 0;<a name="line.2601"></a>
-<span class="sourceLineNo">2602</span>  }<a name="line.2602"></a>
-<span class="sourceLineNo">2603</span><a name="line.2603"></a>
-<span class="sourceLineNo">2604</span>  public WALProcedureStore getWalProcedureStore() {<a name="line.2604"></a>
-<span class="sourceLineNo">2605</span>    return procedureStore;<a name="line.2605"></a>
-<span class="sourceLineNo">2606</span>  }<a name="line.2606"></a>
-<span class="sourceLineNo">2607</span><a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>  public int getRegionServerInfoPort(final ServerName sn) {<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2609"></a>
-<span class="sourceLineNo">2610</span>    if (info == null || info.getInfoPort() == 0) {<a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>      return conf.getInt(HConstants.REGIONSERVER_INFO_PORT,<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>        HConstants.DEFAULT_REGIONSERVER_INFOPORT);<a name="line.2612"></a>
-<span class="sourceLineNo">2613</span>    }<a name="line.2613"></a>
-<span class="sourceLineNo">2614</span>    return info.getInfoPort();<a name="line.2614"></a>
-<span class="sourceLineNo">2615</span>  }<a name="line.2615"></a>
-<span class="sourceLineNo">2616</span><a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>  @Override<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>  public String getRegionServerVersion(final ServerName sn) {<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>    if (info != null &amp;&amp; info.hasVersionInfo()) {<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span>      return info.getVersionInfo().getVersion();<a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>    }<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>    return "0.0.0"; //Lowest version to prevent move system region to unknown version RS.<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span>  }<a name="line.2624"></a>
-<span class="sourceLineNo">2625</span><a name="line.2625"></a>
-<span class="sourceLineNo">2626</span>  @Override<a name="line.2626"></a>
-<span class="sourceLineNo">2627</span>  public void checkIfShouldMoveSystemRegionAsync() {<a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>    assignmentManager.checkIfShouldMoveSystemRegionAsync();<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span>  }<a name="line.2629"></a>
-<span class="sourceLineNo">2630</span><a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>  /**<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span>   * @return array of coprocessor SimpleNames.<a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>   */<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span>  public String[] getMasterCoprocessors() {<a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>    Set&lt;String&gt; masterCoprocessors = getMasterCoprocessorHost().getCoprocessors();<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>    return masterCoprocessors.toArray(new String[masterCoprocessors.size()]);<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>  }<a name="line.2637"></a>
-<span class="sourceLineNo">2638</span><a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>  @Override<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span>  public void abort(String reason, Throwable cause) {<a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>    if (isAborted() || isStopped()) {<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>      return;<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>    }<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span>    if (cpHost != null) {<a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>      // HBASE-4014: dump a list of loaded coprocessors.<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>      LOG.error(HBaseMarkers.FATAL, "Master server abort: loaded coprocessors are: " +<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>          getLoadedCoprocessors());<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>    }<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>    String msg = "***** ABORTING master " + this + ": " + reason + " *****";<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span>    if (cause != null) {<a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>      LOG.error(HBaseMarkers.FATAL, msg, cause);<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span>    } else {<a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>      LOG.error(HBaseMarkers.FATAL, msg);<a name="line.2653"></a>
-<span class="sourceLineNo">2654</span>    }<a name="line.2654"></a>
-<span class="sourceLineNo">2655</span><a name="line.2655"></a>
-<span class="sourceLineNo">2656</span>    try {<a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>      stopMaster();<a name="line.2657"></a>
-<span class="sourceLineNo">2658</span>    } catch (IOException e) {<a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>      LOG.error("Exception occurred while stopping master", e);<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span>    }<a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>  }<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span><a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>  @Override<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>  public ZKWatcher getZooKeeper() {<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>    return zooKeeper;<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>  }<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span><a name="line.2667"></a>
-<span class="sourceLineNo">2668</span>  @Override<a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>    return cpHost;<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>  }<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span><a name="line.2672"></a>
-<span class="sourceLineNo">2673</span>  @Override<a name="line.2673"></a>
-<span class="sourceLineNo">2674</span>  public MasterQuotaManager getMasterQuotaManager() {<a name="line.2674"></a>
-<span class="sourceLineNo">2675</span>    return quotaManager;<a name="line.2675"></a>
-<span class="sourceLineNo">2676</span>  }<a name="line.2676"></a>
-<span class="sourceLineNo">2677</span><a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>  @Override<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>  public ProcedureExecutor&lt;MasterProcedureEnv&gt; getMasterProcedureExecutor() {<a name="line.2679"></a>
-<span class="sourceLineNo">2680</span>    return procedureExecutor;<a name="line.2680"></a>
-<span class="sourceLineNo">2681</span>  }<a name="line.2681"></a>
-<span class="sourceLineNo">2682</span><a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>  @Override<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span>  public ServerName getServerName() {<a name="line.2684"></a>
-<span class="sourceLineNo">2685</span>    return this.serverName;<a name="line.2685"></a>
-<span class="sourceLineNo">2686</span>  }<a name="line.2686"></a>
-<span class="sourceLineNo">2687</span><a name="line.2687"></a>
-<span class="sourceLineNo">2688</span>  @Override<a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>  public AssignmentManager getAssignmentManager() {<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>    return this.assignmentManager;<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>  }<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span><a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>  @Override<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>  public CatalogJanitor getCatalogJanitor() {<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span>    return this.catalogJanitorChore;<a name="line.2695"></a>
-<span class="sourceLineNo">2696</span>  }<a name="line.2696"></a>
-<span class="sourceLineNo">2697</span><a name="line.2697"></a>
-<span class="sourceLineNo">2698</span>  public MemoryBoundedLogMessageBuffer getRegionServerFatalLogBuffer() {<a name="line.2698"></a>
-<span class="sourceLineNo">2699</span>    return rsFatals;<a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>  }<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span><a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>  /**<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>   * Shutdown the cluster.<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span>   * Master runs a coordinated stop of all RegionServers and then itself.<a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>   */<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span>  public void shutdown() throws IOException {<a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>    if (cpHost != null) {<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>      cpHost.preShutdown();<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>    }<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>    // Tell the servermanager cluster shutdown has been called. This makes it so when Master is<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span>    // last running server, it'll stop itself. Next, we broadcast the cluster shutdown by setting<a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>    // the cluster status as down. RegionServers will notice this change in state and will start<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>    // shutting themselves down. When last has exited, Master can go down.<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>    if (this.serverManager != null) {<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span>      this.serverManager.shutdownCluster();<a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>    }<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span>    if (this.clusterStatusTracker != null) {<a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>      try {<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span>        this.clusterStatusTracker.setClusterDown();<a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>      } catch (KeeperException e) {<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>        LOG.error("ZooKeeper exception trying to set cluster as down in ZK", e);<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>      }<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span>    }<a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>    // Stop the procedure executor. Will stop any ongoing assign, unassign, server crash etc.,<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span>    // processing so we can go down.<a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>    if (this.procedureExecutor != null) {<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span>      this.procedureExecutor.stop();<a name="line.2727"></a>
-<span class="sourceLineNo">2728</span>    }<a name="line.2728"></a>
-<span class="sourceLineNo">2729</span>    // Shutdown our cluster connection. This will kill any hosted RPCs that might be going on;<a name="line.2729"></a>
-<span class="sourceLineNo">2730</span>    // this is what we want especially if the Master is in startup phase doing call outs to<a name="line.2730"></a>
-<span class="sourceLineNo">2731</span>    // hbase:meta, etc. when cluster is down. Without ths connection close, we'd have to wait on<a name="line.2731"></a>
-<span class="sourceLineNo">2732</span>    // the rpc to timeout.<a name="line.2732"></a>
-<span class="sourceLineNo">2733</span>    if (this.clusterConnection != null) {<a name="line.2733"></a>
-<span class="sourceLineNo">2734</span>      this.clusterConnection.close();<a name="line.2734"></a>
-<span class="sourceLineNo">2735</span>    }<a name="line.2735"></a>
-<span class="sourceLineNo">2736</span>  }<a name="line.2736"></a>
-<span class="sourceLineNo">2737</span><a name="line.2737"></a>
-<span class="sourceLineNo">2738</span>  public void stopMaster() throws IOException {<a name="line.2738"></a>
-<span class="sourceLineNo">2739</span>    if (cpHost != null) {<a name="line.2739"></a>
-<span class="sourceLineNo">2740</span>      cpHost.preStopMaster();<a name="line.2740"></a>
-<span class="sourceLineNo">2741</span>    }<a name="line.2741"></a>
-<span class="sourceLineNo">2742</span>    stop("Stopped by " + Thread.currentThread().getName());<a name="line.2742"></a>
-<span class="sourceLineNo">2743</span>  }<a name="line.2743"></a>
-<span class="sourceLineNo">2744</span><a name="line.2744"></a>
-<span class="sourceLineNo">2745</span>  @Override<a name="line.2745"></a>
-<span class="sourceLineNo">2746</span>  public void stop(String msg) {<a name="line.2746"></a>
-<span class="sourceLineNo">2747</span>    if (!isStopped()) {<a name="line.2747"></a>
-<span class="sourceLineNo">2748</span>      super.stop(msg);<a name="line.2748"></a>
-<span class="sourceLineNo">2749</span>      if (this.activeMasterManager != null) {<a name="line.2749"></a>
-<span class="sourceLineNo">2750</span>        this.activeMasterManager.stop();<a name="line.2750"></a>
-<span class="sourceLineNo">2751</span>      }<a name="line.2751"></a>
-<span class="sourceLineNo">2752</span>    }<a name="line.2752"></a>
-<span class="sourceLineNo">2753</span>  }<a name="line.2753"></a>
-<span class="sourceLineNo">2754</span><a name="line.2754"></a>
-<span class="sourceLineNo">2755</span>  void checkServiceStarted() throws ServerNotRunningYetException {<a name="line.2755"></a>
-<span class="sourceLineNo">2756</span>    if (!serviceStarted) {<a name="line.2756"></a>
-<span class="sourceLineNo">2757</span>      throw new ServerNotRunningYetException("Server is not running yet");<a name="line.2757"></a>
-<span class="sourceLineNo">2758</span>    }<a name="line.2758"></a>
-<span class="sourceLineNo">2759</span>  }<a name="line.2759"></a>
-<span class="sourceLineNo">2760</span><a name="line.2760"></a>
-<span class="sourceLineNo">2761</span>  public static class MasterStoppedException extends DoNotRetryIOException {<a name="line.2761"></a>
-<span class="sourceLineNo">2762</span>    MasterStoppedException() {<a name="line.2762"></a>
-<span class="sourceLineNo">2763</span>      super();<a name="line.2763"></a>
-<span class="sourceLineNo">2764</span>    }<a name="line.2764"></a>
-<span class="sourceLineNo">2765</span>  }<a name="line.2765"></a>
-<span class="sourceLineNo">2766</span><a name="line.2766"></a>
-<span class="sourceLineNo">2767</span>  void checkInitialized() throws PleaseHoldException, ServerNotRunningYetException,<a name="line.2767"></a>
-<span class="sourceLineNo">2768</span>      MasterNotRunningException, MasterStoppedException {<a name="line.2768"></a>
-<span class="sourceLineNo">2769</span>    checkServiceStarted();<a name="line.2769"></a>
-<span class="sourceLineNo">2770</span>    if (!isInitialized()) {<a name="line.2770"></a>
-<span class="sourceLineNo">2771</span>      throw new PleaseHoldException("Master is initializing");<a name="line.2771"></a>
-<span class="sourceLineNo">2772</span>    }<a name="line.2772"></a>
-<span class="sourceLineNo">2773</span>    if (isStopped()) {<a name="line.2773"></a>
-<span class="sourceLineNo">2774</span>      throw new MasterStoppedException();<a name="line.2774"></a>
+<span class="sourceLineNo">2378</span>        LOG.info(getClientIdAuditPrefix() + " modify " + tableName);<a name="line.2378"></a>
+<span class="sourceLineNo">2379</span><a name="line.2379"></a>
+<span class="sourceLineNo">2380</span>        // Execute the operation synchronously - wait for the operation completes before continuing.<a name="line.2380"></a>
+<span class="sourceLineNo">2381</span>        //<a name="line.2381"></a>
+<span class="sourceLineNo">2382</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2382"></a>
+<span class="sourceLineNo">2383</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2383"></a>
+<span class="sourceLineNo">2384</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2384"></a>
+<span class="sourceLineNo">2385</span>        submitProcedure(<a name="line.2385"></a>
+<span class="sourceLineNo">2386</span>          new ModifyTableProcedure(procedureExecutor.getEnvironment(), newDescriptor, latch));<a name="line.2386"></a>
+<span class="sourceLineNo">2387</span>        latch.await();<a name="line.2387"></a>
+<span class="sourceLineNo">2388</span><a name="line.2388"></a>
+<span class="sourceLineNo">2389</span>        getMaster().getMasterCoprocessorHost()<a name="line.2389"></a>
+<span class="sourceLineNo">2390</span>          .postModifyTable(tableName, oldDescriptor, newDescriptor);<a name="line.2390"></a>
+<span class="sourceLineNo">2391</span>      }<a name="line.2391"></a>
+<span class="sourceLineNo">2392</span><a name="line.2392"></a>
+<span class="sourceLineNo">2393</span>      @Override<a name="line.2393"></a>
+<span class="sourceLineNo">2394</span>      protected String getDescription() {<a name="line.2394"></a>
+<span class="sourceLineNo">2395</span>        return "ModifyTableProcedure";<a name="line.2395"></a>
+<span class="sourceLineNo">2396</span>      }<a name="line.2396"></a>
+<span class="sourceLineNo">2397</span>    });<a name="line.2397"></a>
+<span class="sourceLineNo">2398</span>  }<a name="line.2398"></a>
+<span class="sourceLineNo">2399</span><a name="line.2399"></a>
+<span class="sourceLineNo">2400</span>  public long restoreSnapshot(final SnapshotDescription snapshotDesc,<a name="line.2400"></a>
+<span class="sourceLineNo">2401</span>      final long nonceGroup, final long nonce, final boolean restoreAcl) throws IOException {<a name="line.2401"></a>
+<span class="sourceLineNo">2402</span>    checkInitialized();<a name="line.2402"></a>
+<span class="sourceLineNo">2403</span>    getSnapshotManager().checkSnapshotSupport();<a name="line.2403"></a>
+<span class="sourceLineNo">2404</span><a name="line.2404"></a>
+<span class="sourceLineNo">2405</span>    // Ensure namespace exists. Will throw exception if non-known NS.<a name="line.2405"></a>
+<span class="sourceLineNo">2406</span>    final TableName dstTable = TableName.valueOf(snapshotDesc.getTable());<a name="line.2406"></a>
+<span class="sourceLineNo">2407</span>    getClusterSchema().getNamespace(dstTable.getNamespaceAsString());<a name="line.2407"></a>
+<span class="sourceLineNo">2408</span><a name="line.2408"></a>
+<span class="sourceLineNo">2409</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2409"></a>
+<span class="sourceLineNo">2410</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2410"></a>
+<span class="sourceLineNo">2411</span>      @Override<a name="line.2411"></a>
+<span class="sourceLineNo">2412</span>      protected void run() throws IOException {<a name="line.2412"></a>
+<span class="sourceLineNo">2413</span>          setProcId(<a name="line.2413"></a>
+<span class="sourceLineNo">2414</span>            getSnapshotManager().restoreOrCloneSnapshot(snapshotDesc, getNonceKey(), restoreAcl));<a name="line.2414"></a>
+<span class="sourceLineNo">2415</span>      }<a name="line.2415"></a>
+<span class="sourceLineNo">2416</span><a name="line.2416"></a>
+<span class="sourceLineNo">2417</span>      @Override<a name="line.2417"></a>
+<span class="sourceLineNo">2418</span>      protected String getDescription() {<a name="line.2418"></a>
+<span class="sourceLineNo">2419</span>        return "RestoreSnapshotProcedure";<a name="line.2419"></a>
+<span class="sourceLineNo">2420</span>      }<a name="line.2420"></a>
+<span class="sourceLineNo">2421</span>    });<a name="line.2421"></a>
+<span class="sourceLineNo">2422</span>  }<a name="line.2422"></a>
+<span class="sourceLineNo">2423</span><a name="line.2423"></a>
+<span class="sourceLineNo">2424</span>  private void checkTableExists(final TableName tableName)<a name="line.2424"></a>
+<span class="sourceLineNo">2425</span>      throws IOException, TableNotFoundException {<a name="line.2425"></a>
+<span class="sourceLineNo">2426</span>    if (!MetaTableAccessor.tableExists(getConnection(), tableName)) {<a name="line.2426"></a>
+<span class="sourceLineNo">2427</span>      throw new TableNotFoundException(tableName);<a name="line.2427"></a>
+<span class="sourceLineNo">2428</span>    }<a name="line.2428"></a>
+<span class="sourceLineNo">2429</span>  }<a name="line.2429"></a>
+<span class="sourceLineNo">2430</span><a name="line.2430"></a>
+<span class="sourceLineNo">2431</span>  @Override<a name="line.2431"></a>
+<span class="sourceLineNo">2432</span>  public void checkTableModifiable(final TableName tableName)<a name="line.2432"></a>
+<span class="sourceLineNo">2433</span>      throws IOException, TableNotFoundException, TableNotDisabledException {<a name="line.2433"></a>
+<span class="sourceLineNo">2434</span>    if (isCatalogTable(tableName)) {<a name="line.2434"></a>
+<span class="sourceLineNo">2435</span>      throw new IOException("Can't modify catalog tables");<a name="line.2435"></a>
+<span class="sourceLineNo">2436</span>    }<a name="line.2436"></a>
+<span class="sourceLineNo">2437</span>    checkTableExists(tableName);<a name="line.2437"></a>
+<span class="sourceLineNo">2438</span>    TableState ts = getTableStateManager().getTableState(tableName);<a name="line.2438"></a>
+<span class="sourceLineNo">2439</span>    if (!ts.isDisabled()) {<a name="line.2439"></a>
+<span class="sourceLineNo">2440</span>      throw new TableNotDisabledException("Not DISABLED; " + ts);<a name="line.2440"></a>
+<span class="sourceLineNo">2441</span>    }<a name="line.2441"></a>
+<span class="sourceLineNo">2442</span>  }<a name="line.2442"></a>
+<span class="sourceLineNo">2443</span><a name="line.2443"></a>
+<span class="sourceLineNo">2444</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor() throws InterruptedIOException {<a name="line.2444"></a>
+<span class="sourceLineNo">2445</span>    return getClusterMetricsWithoutCoprocessor(EnumSet.allOf(Option.class));<a name="line.2445"></a>
+<span class="sourceLineNo">2446</span>  }<a name="line.2446"></a>
+<span class="sourceLineNo">2447</span><a name="line.2447"></a>
+<span class="sourceLineNo">2448</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor(EnumSet&lt;Option&gt; options)<a name="line.2448"></a>
+<span class="sourceLineNo">2449</span>      throws InterruptedIOException {<a name="line.2449"></a>
+<span class="sourceLineNo">2450</span>    ClusterMetricsBuilder builder = ClusterMetricsBuilder.newBuilder();<a name="line.2450"></a>
+<span class="sourceLineNo">2451</span>    // given that hbase1 can't submit the request with Option,<a name="line.2451"></a>
+<span class="sourceLineNo">2452</span>    // we return all information to client if the list of Option is empty.<a name="line.2452"></a>
+<span class="sourceLineNo">2453</span>    if (options.isEmpty()) {<a name="line.2453"></a>
+<span class="sourceLineNo">2454</span>      options = EnumSet.allOf(Option.class);<a name="line.2454"></a>
+<span class="sourceLineNo">2455</span>    }<a name="line.2455"></a>
+<span class="sourceLineNo">2456</span><a name="line.2456"></a>
+<span class="sourceLineNo">2457</span>    for (Option opt : options) {<a name="line.2457"></a>
+<span class="sourceLineNo">2458</span>      switch (opt) {<a name="line.2458"></a>
+<span class="sourceLineNo">2459</span>        case HBASE_VERSION: builder.setHBaseVersion(VersionInfo.getVersion()); break;<a name="line.2459"></a>
+<span class="sourceLineNo">2460</span>        case CLUSTER_ID: builder.setClusterId(getClusterId()); break;<a name="line.2460"></a>
+<span class="sourceLineNo">2461</span>        case MASTER: builder.setMasterName(getServerName()); break;<a name="line.2461"></a>
+<span class="sourceLineNo">2462</span>        case BACKUP_MASTERS: builder.setBackerMasterNames(getBackupMasters()); break;<a name="line.2462"></a>
+<span class="sourceLineNo">2463</span>        case LIVE_SERVERS: {<a name="line.2463"></a>
+<span class="sourceLineNo">2464</span>          if (serverManager != null) {<a name="line.2464"></a>
+<span class="sourceLineNo">2465</span>            builder.setLiveServerMetrics(serverManager.getOnlineServers().entrySet().stream()<a name="line.2465"></a>
+<span class="sourceLineNo">2466</span>              .collect(Collectors.toMap(e -&gt; e.getKey(), e -&gt; e.getValue())));<a name="line.2466"></a>
+<span class="sourceLineNo">2467</span>          }<a name="line.2467"></a>
+<span class="sourceLineNo">2468</span>          break;<a name="line.2468"></a>
+<span class="sourceLineNo">2469</span>        }<a name="line.2469"></a>
+<span class="sourceLineNo">2470</span>        case DEAD_SERVERS: {<a name="line.2470"></a>
+<span class="sourceLineNo">2471</span>          if (serverManager != null) {<a name="line.2471"></a>
+<span class="sourceLineNo">2472</span>            builder.setDeadServerNames(new ArrayList&lt;&gt;(<a name="line.2472"></a>
+<span class="sourceLineNo">2473</span>              serverManager.getDeadServers().copyServerNames()));<a name="line.2473"></a>
+<span class="sourceLineNo">2474</span>          }<a name="line.2474"></a>
+<span class="sourceLineNo">2475</span>          break;<a name="line.2475"></a>
+<span class="sourceLineNo">2476</span>        }<a name="line.2476"></a>
+<span class="sourceLineNo">2477</span>        case MASTER_COPROCESSORS: {<a name="line.2477"></a>
+<span class="sourceLineNo">2478</span>          if (cpHost != null) {<a name="line.2478"></a>
+<span class="sourceLineNo">2479</span>            builder.setMasterCoprocessorNames(Arrays.asList(getMasterCoprocessors()));<a name="line.2479"></a>
+<span class="sourceLineNo">2480</span>          }<a name="line.2480"></a>
+<span class="sourceLineNo">2481</span>          break;<a name="line.2481"></a>
+<span class="sourceLineNo">2482</span>        }<a name="line.2482"></a>
+<span class="sourceLineNo">2483</span>        case REGIONS_IN_TRANSITION: {<a name="line.2483"></a>
+<span class="sourceLineNo">2484</span>          if (assignmentManager != null) {<a name="line.2484"></a>
+<span class="sourceLineNo">2485</span>            builder.setRegionsInTransition(assignmentManager.getRegionStates()<a name="line.2485"></a>
+<span class="sourceLineNo">2486</span>                .getRegionsStateInTransition());<a name="line.2486"></a>
+<span class="sourceLineNo">2487</span>          }<a name="line.2487"></a>
+<span class="sourceLineNo">2488</span>          break;<a name="line.2488"></a>
+<span class="sourceLineNo">2489</span>        }<a name="line.2489"></a>
+<span class="sourceLineNo">2490</span>        case BALANCER_ON: {<a name="line.2490"></a>
+<span class="sourceLineNo">2491</span>          if (loadBalancerTracker != null) {<a name="line.2491"></a>
+<span class="sourceLineNo">2492</span>            builder.setBalancerOn(loadBalancerTracker.isBalancerOn());<a name="line.2492"></a>
+<span class="sourceLineNo">2493</span>          }<a name="line.2493"></a>
+<span class="sourceLineNo">2494</span>          break;<a name="line.2494"></a>
+<span class="sourceLineNo">2495</span>        }<a name="line.2495"></a>
+<span class="sourceLineNo">2496</span>        case MASTER_INFO_PORT: {<a name="line.2496"></a>
+<span class="sourceLineNo">2497</span>          if (infoServer != null) {<a name="line.2497"></a>
+<span class="sourceLineNo">2498</span>            builder.setMasterInfoPort(infoServer.getPort());<a name="line.2498"></a>
+<span class="sourceLineNo">2499</span>          }<a name="line.2499"></a>
+<span class="sourceLineNo">2500</span>          break;<a name="line.2500"></a>
+<span class="sourceLineNo">2501</span>        }<a name="line.2501"></a>
+<span class="sourceLineNo">2502</span>      }<a name="line.2502"></a>
+<span class="sourceLineNo">2503</span>    }<a name="line.2503"></a>
+<span class="sourceLineNo">2504</span>    return builder.build();<a name="line.2504"></a>
+<span class="sourceLineNo">2505</span>  }<a name="line.2505"></a>
+<span class="sourceLineNo">2506</span><a name="line.2506"></a>
+<span class="sourceLineNo">2507</span>  /**<a name="line.2507"></a>
+<span class="sourceLineNo">2508</span>   * @return cluster status<a name="line.2508"></a>
+<span class="sourceLineNo">2509</span>   */<a name="line.2509"></a>
+<span class="sourceLineNo">2510</span>  public ClusterMetrics getClusterMetrics() throws IOException {<a name="line.2510"></a>
+<span class="sourceLineNo">2511</span>    return getClusterMetrics(EnumSet.allOf(Option.class));<a name="line.2511"></a>
+<span class="sourceLineNo">2512</span>  }<a name="line.2512"></a>
+<span class="sourceLineNo">2513</span><a name="line.2513"></a>
+<span class="sourceLineNo">2514</span>  public ClusterMetrics getClusterMetrics(EnumSet&lt;Option&gt; options) throws IOException {<a name="line.2514"></a>
+<span class="sourceLineNo">2515</span>    if (cpHost != null) {<a name="line.2515"></a>
+<span class="sourceLineNo">2516</span>      cpHost.preGetClusterMetrics();<a name="line.2516"></a>
+<span class="sourceLineNo">2517</span>    }<a name="line.2517"></a>
+<span class="sourceLineNo">2518</span>    ClusterMetrics status = getClusterMetricsWithoutCoprocessor(options);<a name="line.2518"></a>
+<span class="sourceLineNo">2519</span>    if (cpHost != null) {<a name="line.2519"></a>
+<span class="sourceLineNo">2520</span>      cpHost.postGetClusterMetrics(status);<a name="line.2520"></a>
+<span class="sourceLineNo">2521</span>    }<a name="line.2521"></a>
+<span class="sourceLineNo">2522</span>    return status;<a name="line.2522"></a>
+<span class="sourceLineNo">2523</span>  }<a name="line.2523"></a>
+<span class="sourceLineNo">2524</span><a name="line.2524"></a>
+<span class="sourceLineNo">2525</span>  private List&lt;ServerName&gt; getBackupMasters() throws InterruptedIOException {<a name="line.2525"></a>
+<span class="sourceLineNo">2526</span>    // Build Set of backup masters from ZK nodes<a name="line.2526"></a>
+<span class="sourceLineNo">2527</span>    List&lt;String&gt; backupMasterStrings;<a name="line.2527"></a>
+<span class="sourceLineNo">2528</span>    try {<a name="line.2528"></a>
+<span class="sourceLineNo">2529</span>      backupMasterStrings = ZKUtil.listChildrenNoWatch(this.zooKeeper,<a name="line.2529"></a>
+<span class="sourceLineNo">2530</span>        this.zooKeeper.znodePaths.backupMasterAddressesZNode);<a name="line.2530"></a>
+<span class="sourceLineNo">2531</span>    } catch (KeeperException e) {<a name="line.2531"></a>
+<span class="sourceLineNo">2532</span>      LOG.warn(this.zooKeeper.prefix("Unable to list backup servers"), e);<a name="line.2532"></a>
+<span class="sourceLineNo">2533</span>      backupMasterStrings = null;<a name="line.2533"></a>
+<span class="sourceLineNo">2534</span>    }<a name="line.2534"></a>
+<span class="sourceLineNo">2535</span><a name="line.2535"></a>
+<span class="sourceLineNo">2536</span>    List&lt;ServerName&gt; backupMasters = Collections.emptyList();<a name="line.2536"></a>
+<span class="sourceLineNo">2537</span>    if (backupMasterStrings != null &amp;&amp; !backupMasterStrings.isEmpty()) {<a name="line.2537"></a>
+<span class="sourceLineNo">2538</span>      backupMasters = new ArrayList&lt;&gt;(backupMasterStrings.size());<a name="line.2538"></a>
+<span class="sourceLineNo">2539</span>      for (String s: backupMasterStrings) {<a name="line.2539"></a>
+<span class="sourceLineNo">2540</span>        try {<a name="line.2540"></a>
+<span class="sourceLineNo">2541</span>          byte [] bytes;<a name="line.2541"></a>
+<span class="sourceLineNo">2542</span>          try {<a name="line.2542"></a>
+<span class="sourceLineNo">2543</span>            bytes = ZKUtil.getData(this.zooKeeper, ZNodePaths.joinZNode(<a name="line.2543"></a>
+<span class="sourceLineNo">2544</span>                this.zooKeeper.znodePaths.backupMasterAddressesZNode, s));<a name="line.2544"></a>
+<span class="sourceLineNo">2545</span>          } catch (InterruptedException e) {<a name="line.2545"></a>
+<span class="sourceLineNo">2546</span>            throw new InterruptedIOException();<a name="line.2546"></a>
+<span class="sourceLineNo">2547</span>          }<a name="line.2547"></a>
+<span class="sourceLineNo">2548</span>          if (bytes != null) {<a name="line.2548"></a>
+<span class="sourceLineNo">2549</span>            ServerName sn;<a name="line.2549"></a>
+<span class="sourceLineNo">2550</span>            try {<a name="line.2550"></a>
+<span class="sourceLineNo">2551</span>              sn = ProtobufUtil.parseServerNameFrom(bytes);<a name="line.2551"></a>
+<span class="sourceLineNo">2552</span>            } catch (DeserializationException e) {<a name="line.2552"></a>
+<span class="sourceLineNo">2553</span>              LOG.warn("Failed parse, skipping registering backup server", e);<a name="line.2553"></a>
+<span class="sourceLineNo">2554</span>              continue;<a name="line.2554"></a>
+<span class="sourceLineNo">2555</span>            }<a name="line.2555"></a>
+<span class="sourceLineNo">2556</span>            backupMasters.add(sn);<a name="line.2556"></a>
+<span class="sourceLineNo">2557</span>          }<a name="line.2557"></a>
+<span class="sourceLineNo">2558</span>        } catch (KeeperException e) {<a name="line.2558"></a>
+<span class="sourceLineNo">2559</span>          LOG.warn(this.zooKeeper.prefix("Unable to get information about " +<a name="line.2559"></a>
+<span class="sourceLineNo">2560</span>                   "backup servers"), e);<a name="line.2560"></a>
+<span class="sourceLineNo">2561</span>        }<a name="line.2561"></a>
+<span class="sourceLineNo">2562</span>      }<a name="line.2562"></a>
+<span class="sourceLineNo">2563</span>      Collections.sort(backupMasters, new Comparator&lt;ServerName&gt;() {<a name="line.2563"></a>
+<span class="sourceLineNo">2564</span>        @Override<a name="line.2564"></a>
+<span class="sourceLineNo">2565</span>        public int compare(ServerName s1, ServerName s2) {<a name="line.2565"></a>
+<span class="sourceLineNo">2566</span>          return s1.getServerName().compareTo(s2.getServerName());<a name="line.2566"></a>
+<span class="sourceLineNo">2567</span>        }});<a name="line.2567"></a>
+<span class="sourceLineNo">2568</span>    }<a name="line.2568"></a>
+<span class="sourceLineNo">2569</span>    return backupMasters;<a name="line.2569"></a>
+<span class="sourceLineNo">2570</span>  }<a name="line.2570"></a>
+<span class="sourceLineNo">2571</span><a name="line.2571"></a>
+<span class="sourceLineNo">2572</span>  /**<a name="line.2572"></a>
+<span class="sourceLineNo">2573</span>   * The set of loaded coprocessors is stored in a static set. Since it's<a name="line.2573"></a>
+<span class="sourceLineNo">2574</span>   * statically allocated, it does not require that HMaster's cpHost be<a name="line.2574"></a>
+<span class="sourceLineNo">2575</span>   * initialized prior to accessing it.<a name="line.2575"></a>
+<span class="sourceLineNo">2576</span>   * @return a String representation of the set of names of the loaded coprocessors.<a name="line.2576"></a>
+<span class="sourceLineNo">2577</span>   */<a name="line.2577"></a>
+<span class="sourceLineNo">2578</span>  public static String getLoadedCoprocessors() {<a name="line.2578"></a>
+<span class="sourceLineNo">2579</span>    return CoprocessorHost.getLoadedCoprocessors().toString();<a name="line.2579"></a>
+<span class="sourceLineNo">2580</span>  }<a name="line.2580"></a>
+<span class="sourceLineNo">2581</span><a name="line.2581"></a>
+<span class="sourceLineNo">2582</span>  /**<a name="line.2582"></a>
+<span class="sourceLineNo">2583</span>   * @return timestamp in millis when HMaster was started.<a name="line.2583"></a>
+<span class="sourceLineNo">2584</span>   */<a name="line.2584"></a>
+<span class="sourceLineNo">2585</span>  public long getMasterStartTime() {<a name="line.2585"></a>
+<span class="sourceLineNo">2586</span>    return startcode;<a name="line.2586"></a>
+<span class="sourceLineNo">2587</span>  }<a name="line.2587"></a>
+<span class="sourceLineNo">2588</span><a name="line.2588"></a>
+<span class="sourceLineNo">2589</span>  /**<a name="line.2589"></a>
+<span class="sourceLineNo">2590</span>   * @return timestamp in millis when HMaster became the active master.<a name="line.2590"></a>
+<span class="sourceLineNo">2591</span>   */<a name="line.2591"></a>
+<span class="sourceLineNo">2592</span>  public long getMasterActiveTime() {<a name="line.2592"></a>
+<span class="sourceLineNo">2593</span>    return masterActiveTime;<a name="line.2593"></a>
+<span class="sourceLineNo">2594</span>  }<a name="line.2594"></a>
+<span class="sourceLineNo">2595</span><a name="line.2595"></a>
+<span class="sourceLineNo">2596</span>  /**<a name="line.2596"></a>
+<span class="sourceLineNo">2597</span>   * @return timestamp in millis when HMaster finished becoming the active master<a name="line.2597"></a>
+<span class="sourceLineNo">2598</span>   */<a name="line.2598"></a>
+<span class="sourceLineNo">2599</span>  public long getMasterFinishedInitializationTime() {<a name="line.2599"></a>
+<span class="sourceLineNo">2600</span>    return masterFinishedInitializationTime;<a name="line.2600"></a>
+<span class="sourceLineNo">2601</span>  }<a name="line.2601"></a>
+<span class="sourceLineNo">2602</span><a name="line.2602"></a>
+<span class="sourceLineNo">2603</span>  public int getNumWALFiles() {<a name="line.2603"></a>
+<span class="sourceLineNo">2604</span>    return procedureStore != null ? procedureStore.getActiveLogs().size() : 0;<a name="line.2604"></a>
+<span class="sourceLineNo">2605</span>  }<a name="line.2605"></a>
+<span class="sourceLineNo">2606</span><a name="line.2606"></a>
+<span class="sourceLineNo">2607</span>  public WALProcedureStore getWalProcedureStore() {<a name="line.2607"></a>
+<span class="sourceLineNo">2608</span>    return procedureStore;<a name="line.2608"></a>
+<span class="sourceLineNo">2609</span>  }<a name="line.2609"></a>
+<span class="sourceLineNo">2610</span><a name="line.2610"></a>
+<span class="sourceLineNo">2611</span>  public int getRegionServerInfoPort(final ServerName sn) {<a name="line.2611"></a>
+<span class="sourceLineNo">2612</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2612"></a>
+<span class="sourceLineNo">2613</span>    if (info == null || info.getInfoPort() == 0) {<a name="line.2613"></a>
+<span class="sourceLineNo">2614</span>      return conf.getInt(HConstants.REGIONSERVER_INFO_PORT,<a name="line.2614"></a>
+<span class="sourceLineNo">2615</span>        HConstants.DEFAULT_REGIONSERVER_INFOPORT);<a name="line.2615"></a>
+<span class="sourceLineNo">2616</span>    }<a name="line.2616"></a>
+<span class="sourceLineNo">2617</span>    return info.getInfoPort();<a name="line.2617"></a>
+<span class="sourceLineNo">2618</span>  }<a name="line.2618"></a>
+<span class="sourceLineNo">2619</span><a name="line.2619"></a>
+<span class="sourceLineNo">2620</span>  @Override<a name="line.2620"></a>
+<span class="sourceLineNo">2621</span>  public String getRegionServerVersion(final ServerName sn) {<a name="line.2621"></a>
+<span class="sourceLineNo">2622</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2622"></a>
+<span class="sourceLineNo">2623</span>    if (info != null &amp;&amp; info.hasVersionInfo()) {<a name="line.2623"></a>
+<span class="sourceLineNo">2624</span>      return info.getVersionInfo().getVersion();<a name="line.2624"></a>
+<span class="sourceLineNo">2625</span>    }<a name="line.2625"></a>
+<span class="sourceLineNo">2626</span>    return "0.0.0"; //Lowest version to prevent move system region to unknown version RS.<a name="line.2626"></a>
+<span class="sourceLineNo">2627</span>  }<a name="line.2627"></a>
+<span class="sourceLineNo">2628</span><a name="line.2628"></a>
+<span class="sourceLineNo">2629</span>  @Override<a name="line.2629"></a>
+<span class="sourceLineNo">2630</span>  public void checkIfShouldMoveSystemRegionAsync() {<a name="line.2630"></a>
+<span class="sourceLineNo">2631</span>    assignmentManager.checkIfShouldMoveSystemRegionAsync();<a name="line.2631"></a>
+<span class="sourceLineNo">2632</span>  }<a name="line.2632"></a>
+<span class="sourceLineNo">2633</span><a name="line.2633"></a>
+<span class="sourceLineNo">2634</span>  /**<a name="line.2634"></a>
+<span class="sourceLineNo">2635</span>   * @return array of coprocessor SimpleNames.<a name="line.2635"></a>
+<span class="sourceLineNo">2636</span>   */<a name="line.2636"></a>
+<span class="sourceLineNo">2637</span>  public String[] getMasterCoprocessors() {<a name="line.2637"></a>
+<span class="sourceLineNo">2638</span>    Set&lt;String&gt; masterCoprocessors = getMasterCoprocessorHost().getCoprocessors();<a name="line.2638"></a>
+<span class="sourceLineNo">2639</span>    return masterCoprocessors.toArray(new String[masterCoprocessors.size()]);<a name="line.2639"></a>
+<span class="sourceLineNo">2640</span>  }<a name="line.2640"></a>
+<span class="sourceLineNo">2641</span><a name="line.2641"></a>
+<span class="sourceLineNo">2642</span>  @Override<a name="line.2642"></a>
+<span class="sourceLineNo">2643</span>  public void abort(String reason, Throwable cause) {<a name="line.2643"></a>
+<span class="sourceLineNo">2644</span>    if (isAborted() || isStopped()) {<a name="line.2644"></a>
+<span class="sourceLineNo">2645</span>      return;<a name="line.2645"></a>
+<span class="sourceLineNo">2646</span>    }<a name="line.2646"></a>
+<span class="sourceLineNo">2647</span>    if (cpHost != null) {<a name="line.2647"></a>
+<span class="sourceLineNo">2648</span>      // HBASE-4014: dump a list of loaded coprocessors.<a name="line.2648"></a>
+<span class="sourceLineNo">2649</span>      LOG.error(HBaseMarkers.FATAL, "Master server abort: loaded coprocessors are: " +<a name="line.2649"></a>
+<span class="sourceLineNo">2650</span>          getLoadedCoprocessors());<a name="line.2650"></a>
+<span class="sourceLineNo">2651</span>    }<a name="line.2651"></a>
+<span class="sourceLineNo">2652</span>    String msg = "***** ABORTING master " + this + ": " + reason + " *****";<a name="line.2652"></a>
+<span class="sourceLineNo">2653</span>    if (cause != null) {<a name="line.2653"></a>
+<span class="sourceLineNo">2654</span>      LOG.error(HBaseMarkers.FATAL, msg, cause);<a name="line.2654"></a>
+<span class="sourceLineNo">2655</span>    } else {<a name="line.2655"></a>
+<span class="sourceLineNo">2656</span>      LOG.error(HBaseMarkers.FATAL, msg);<a name="line.2656"></a>
+<span class="sourceLineNo">2657</span>    }<a name="line.2657"></a>
+<span class="sourceLineNo">2658</span><a name="line.2658"></a>
+<span class="sourceLineNo">2659</span>    try {<a name="line.2659"></a>
+<span class="sourceLineNo">2660</span>      stopMaster();<a name="line.2660"></a>
+<span class="sourceLineNo">2661</span>    } catch (IOException e) {<a name="line.2661"></a>
+<span class="sourceLineNo">2662</span>      LOG.error("Exception occurred while stopping master", e);<a name="line.2662"></a>
+<span class="sourceLineNo">2663</span>    }<a name="line.2663"></a>
+<span class="sourceLineNo">2664</span>  }<a name="line.2664"></a>
+<span class="sourceLineNo">2665</span><a name="line.2665"></a>
+<span class="sourceLineNo">2666</span>  @Override<a name="line.2666"></a>
+<span class="sourceLineNo">2667</span>  public ZKWatcher getZooKeeper() {<a name="line.2667"></a>
+<span class="sourceLineNo">2668</span>    return zooKeeper;<a name="line.2668"></a>
+<span class="sourceLineNo">2669</span>  }<a name="line.2669"></a>
+<span class="sourceLineNo">2670</span><a name="line.2670"></a>
+<span class="sourceLineNo">2671</span>  @Override<a name="line.2671"></a>
+<span class="sourceLineNo">2672</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.2672"></a>
+<span class="sourceLineNo">2673</span>    return cpHost;<a name="line.2673"></a>
+<span class="sourceLineNo">2674</span>  }<a name="line.2674"></a>
+<span class="sourceLineNo">2675</span><a name="line.2675"></a>
+<span class="sourceLineNo">2676</span>  @Override<a name="line.2676"></a>
+<span class="sourceLineNo">2677</span>  public MasterQuotaManager getMasterQuotaManager() {<a name="line.2677"></a>
+<span class="sourceLineNo">2678</span>    return quotaManager;<a name="line.2678"></a>
+<span class="sourceLineNo">2679</span>  }<a name="line.2679"></a>
+<span class="sourceLineNo">2680</span><a name="line.2680"></a>
+<span class="sourceLineNo">2681</span>  @Override<a name="line.2681"></a>
+<span class="sourceLineNo">2682</span>  public ProcedureExecutor&lt;MasterProcedureEnv&gt; getMasterProcedureExecutor() {<a name="line.2682"></a>
+<span class="sourceLineNo">2683</span>    return procedureExecutor;<a name="line.2683"></a>
+<span class="sourceLineNo">2684</span>  }<a name="line.2684"></a>
+<span class="sourceLineNo">2685</span><a name="line.2685"></a>
+<span class="sourceLineNo">2686</span>  @Override<a name="line.2686"></a>
+<span class="sourceLineNo">2687</span>  public ServerName getServerName() {<a name="line.2687"></a>
+<span class="sourceLineNo">2688</span>    return this.serverName;<a name="line.2688"></a>
+<span class="sourceLineNo">2689</span>  }<a name="line.2689"></a>
+<span class="sourceLineNo">2690</span><a name="line.2690"></a>
+<span class="sourceLineNo">2691</span>  @Override<a name="line.2691"></a>
+<span class="sourceLineNo">2692</span>  public AssignmentManager getAssignmentManager() {<a name="line.2692"></a>
+<span class="sourceLineNo">2693</span>    return this.assignmentManager;<a name="line.2693"></a>
+<span class="sourceLineNo">2694</span>  }<a name="line.2694"></a>
+<span class="sourceLineNo">2695</span><a name="line.2695"></a>
+<span class="sourceLineNo">2696</span>  @Override<a name="line.2696"></a>
+<span class="sourceLineNo">2697</span>  public CatalogJanitor getCatalogJanitor() {<a name="line.2697"></a>
+<span class="sourceLineNo">2698</span>    return this.catalogJanitorChore;<a name="line.2698"></a>
+<span class="sourceLineNo">2699</span>  }<a name="line.2699"></a>
+<span class="sourceLineNo">2700</span><a name="line.2700"></a>
+<span class="sourceLineNo">2701</span>  public MemoryBoundedLogMessageBuffer getRegionServerFatalLogBuffer() {<a name="line.2701"></a>
+<span class="sourceLineNo">2702</span>    return rsFatals;<a name="line.2702"></a>
+<span class="sourceLineNo">2703</span>  }<a name="line.2703"></a>
+<span class="sourceLineNo">2704</span><a name="line.2704"></a>
+<span class="sourceLineNo">2705</span>  /**<a name="line.2705"></a>
+<span class="sourceLineNo">2706</span>   * Shutdown the cluster.<a name="line.2706"></a>
+<span class="sourceLineNo">2707</span>   * Master runs a coordinated stop of all RegionServers and then itself.<a name="line.2707"></a>
+<span class="sourceLineNo">2708</span>   */<a name="line.2708"></a>
+<span class="sourceLineNo">2709</span>  public void shutdown() throws IOException {<a name="line.2709"></a>
+<span class="sourceLineNo">2710</span>    if (cpHost != null) {<a name="line.2710"></a>
+<span class="sourceLineNo">2711</span>      cpHost.preShutdown();<a name="line.2711"></a>
+<span class="sourceLineNo">2712</span>    }<a name="line.2712"></a>
+<span class="sourceLineNo">2713</span>    // Tell the servermanager cluster shutdown has been called. This makes it so when Master is<a name="line.2713"></a>
+<span class="sourceLineNo">2714</span>    // last running server, it'll stop itself. Next, we broadcast the cluster shutdown by setting<a name="line.2714"></a>
+<span class="sourceLineNo">2715</span>    // the cluster status as down. RegionServers will notice this change in state and will start<a name="line.2715"></a>
+<span class="sourceLineNo">2716</span>    // shutting themselves down. When last has exited, Master can go down.<a name="line.2716"></a>
+<span class="sourceLineNo">2717</span>    if (this.serverManager != null) {<a name="line.2717"></a>
+<span class="sourceLineNo">2718</span>      this.serverManager.shutdownCluster();<a name="line.2718"></a>
+<span class="sourceLineNo">2719</span>    }<a name="line.2719"></a>
+<span class="sourceLineNo">2720</span>    if (this.clusterStatusTracker != null) {<a name="line.2720"></a>
+<span class="sourceLineNo">2721</span>      try {<a name="line.2721"></a>
+<span class="sourceLineNo">2722</span>        this.clusterStatusTracker.setClusterDown();<a name="line.2722"></a>
+<span class="sourceLineNo">2723</span>      } catch (KeeperException e) {<a name="line.2723"></a>
+<span class="sourceLineNo">2724</span>        LOG.error("ZooKeeper exception trying to set cluster as down in ZK", e);<a name="line.2724"></a>
+<span class="sourceLineNo">2725</span>      }<a name="line.2725"></a>
+<span class="sourceLineNo">2726</span>    }<a name="line.2726"></a>
+<span class="sourceLineNo">2727</span>    // Stop the procedure executor. Will stop any ongoing assign, unassign, server crash etc.,<a name="line.2727"></a>
+<span class="sourceLineNo">2728</span>    // processing so we can go down.<a name="line.2728"></a>
+<span class="sourceLineNo">2729</span>    if (this.procedureExecutor != null) {<a name="line.2729"></a>
+<span class="sourceLineNo">2730</span>      this.procedureExecutor.stop();<a name="line.2730"></a>
+<span class="sourceLineNo">2731</span>    }<a name="line.2731"></a>
+<span class="sourceLineNo">2732</span>    // Shutdown our cluster connection. This will kill any hosted RPCs that might be going on;<a name="line.2732"></a>
+<span class="sourceLineNo">2733</span>    // this is what we want especially if the Master is in startup phase doing call outs to<a name="line.2733"></a>
+<span class="sourceLineNo">2734</span>    // hbase:meta, etc. when cluster is down. Without ths connection close, we'd have to wait on<a name="line.2734"></a>
+<span class="sourceLineNo">2735</span>    // the rpc to timeout.<a name="line.2735"></a>
+<span class="sourceLineNo">2736</span>    if (this.clusterConnection != null) {<a name="line.2736"></a>
+<span class="sourceLineNo">2737</span>      this.clusterConnection.close();<a name="line.2737"></a>
+<span class="sourceLineNo">2738</span>    }<a name="line.2738"></a>
+<span class="sourceLineNo">2739</span>  }<a name="line.2739"></a>
+<span class="sourceLineNo">2740</span><a name="line.2740"></a>
+<span class="sourceLineNo">2741</span>  public void stopMaster() throws IOException {<a name="line.2741"></a>
+<span class="sourceLineNo">2742</span>    if (cpHost != null) {<a name="line.2742"></a>
+<span class="sourceLineNo">2743</span>      cpHost.preStopMaster();<a name="line.2743"></a>
+<span class="sourceLineNo">2744</span>    }<a name="line.2744"></a>
+<span class="sourceLineNo">2745</span>    stop("Stopped by " + Thread.currentThread().getName());<a name="line.2745"></a>
+<span class="sourceLineNo">2746</span>  }<a name="line.2746"></a>
+<span class="sourceLineNo">2747</span><a name="line.2747"></a>
+<span class="sourceLineNo">2748</span>  @Override<a name="line.2748"></a>
+<span class="sourceLineNo">2749</span>  public void stop(String msg) {<a name="line.2749"></a>
+<span class="sourceLineNo">2750</span>    if (!isStopped()) {<a name="line.2750"></a>
+<span class="sourceLineNo">2751</span>      super.stop(msg);<a name="line.2751"></a>
+<span class="sourceLineNo">2752</span>      if (this.activeMasterManager != null) {<a name="line.2752"></a>
+<span class="sourceLineNo">2753</span>        this.activeMasterManager.stop();<a name="line.2753"></a>
+<span class="sourceLineNo">2754</span>      }<a name="line.2754"></a>
+<span class="sourceLineNo">2755</span>    }<a name="line.2755"></a>
+<span class="sourceLineNo">2756</span>  }<a name="line.2756"></a>
+<span class="sourceLineNo">2757</span><a name="line.2757"></a>
+<span class="sourceLineNo">2758</span>  void checkServiceStarted() throws ServerNotRunningYetException {<a name="line.2758"></a>
+<span class="sourceLineNo">2759</span>    if (!serviceStarted) {<a name="line.2759"></a>
+<span class="sourceLineNo">2760</span>      throw new ServerNotRunningYetException("Server is not running yet");<a name="line.2760"></a>
+<span class="sourceLineNo">2761</span>    }<a name="line.2761"></a>
+<span class="sourceLineNo">2762</span>  }<a name="line.2762"></a>
+<span class="sourceLineNo">2763</span><a name="line.2763"></a>
+<span class="sourceLineNo">2764</span>  public static class MasterStoppedException extends DoNotRetryIOException {<a name="line.2764"></a>
+<span class="sourceLineNo">2765</span>    MasterStoppedException() {<a name="line.2765"></a>
+<span class="sourceLineNo">2766</span>      super();<a name="line.2766"></a>
+<span class="sourceLineNo">2767</span>    }<a name="line.2767"></a>
+<span class="sourceLineNo">2768</span>  }<a name="line.2768"></a>
+<span class="sourceLineNo">2769</span><a name="line.2769"></a>
+<span class="sourceLineNo">2770</span>  void checkInitialized() throws PleaseHoldException, ServerNotRunningYetException,<a name="line.2770"></a>
+<span class="sourceLineNo">2771</span>      MasterNotRunningException, MasterStoppedException {<a name="line.2771"></a>
+<span class="sourceLineNo">2772</span>    checkServiceStarted();<a name="line.2772"></a>
+<span class="sourceLineNo">2773</span>    if (!isInitialized()) {<a name="line.2773"></a>
+<span class="sourceLineNo">2774</span>      throw new PleaseHoldException("Master is initializing");<a name="line.2774"></a>
 <span class="sourceLineNo">2775</span>    }<a name="line.2775"></a>
-<span class="sourceLineNo">2776</span>  }<a name="line.2776"></a>
-<span class="sourceLineNo">2777</span><a name="line.2777"></a>
-<span class="sourceLineNo">2778</span>  /**<a name="line.2778"></a>
-<span class="sourceLineNo">2779</span>   * Report whether this master is currently the active master or not.<a name="line.2779"></a>
-<span class="sourceLineNo">2780</span>   * If not active master, we are parked on ZK waiting to become active.<a name="line.2780"></a>
-<span class="sourceLineNo">2781</span>   *<a name="line.2781"></a>
-<span class="sourceLineNo">2782</span>   * This method is used for testing.<a name="line.2782"></a>
-<span class="sourceLineNo">2783</span>   *<a name="line.2783"></a>
-<span class="sourceLineNo">2784</span>   * @return true if active master, false if not.<a name="line.2784"></a>
-<span class="sourceLineNo">2785</span>   */<a name="line.2785"></a>
-<span class="sourceLineNo">2786</span>  @Override<a name="line.2786"></a>
-<span class="sourceLineNo">2787</span>  public boolean isActiveMaster() {<a name="line.2787"></a>
-<span class="sourceLineNo">2788</span>    return activeMaster;<a name="line.2788"></a>
-<span class="sourceLineNo">2789</span>  }<a name="line.2789"></a>
-<span class="sourceLineNo">2790</span><a name="line.2790"></a>
-<span class="sourceLineNo">2791</span>  /**<a name="line.2791"></a>
-<span class="sourceLineNo">2792</span>   * Report whether this master has completed with its initialization and is<a name="line.2792"></a>
-<span class="sourceLineNo">2793</span>   * ready.  If ready, the master is also the active master.  A standby master<a name="line.2793"></a>
-<span class="sourceLineNo">2794</span>   * is never ready.<a name="line.2794"></a>
-<span class="sourceLineNo">2795</span>   *<a name="line.2795"></a>
-<span class="sourceLineNo">2796</span>   * This method is used for testing.<a name="line.2796"></a>
-<span class="sourceLineNo">2797</span>   *<a name="line.2797"></a>
-<span class="sourceLineNo">2798</span>   * @return true if master is ready to go, false if not.<a name="line.2798"></a>
-<span class="sourceLineNo">2799</span>   */<a name="line.2799"></a>
-<span class="sourceLineNo">2800</span>  @Override<a name="line.2800"></a>
-<span class="sourceLineNo">2801</span>  public boolean isInitialized() {<a name="line.2801"></a>
-<span class="sourceLineNo">2802</span>    return initialized.isReady();<a name="line.2802"></a>
-<span class="sourceLineNo">2803</span>  }<a name="line.2803"></a>
-<span class="sourceLineNo">2804</span><a name="line.2804"></a>
-<span class="sourceLineNo">2805</span>  /**<a name="line.2805"></a>
-<span class="sourceLineNo">2806</span>   * Report whether this master is in maintenance mode.<a name="line.2806"></a>
-<span class="sourceLineNo">2807</span>   *<a name="line.2807"></a>
-<span class="sourceLineNo">2808</span>   * @return true if master is in maintenanceMode<a name="line.2808"></a>
-<span class="sourceLineNo">2809</span>   */<a name="line.2809"></a>
-<span class="sourceLineNo">2810</span>  @Override<a name="line.2810"></a>
-<span class="sourceLineNo">2811</span>  public boolean isInMaintenanceMode() {<a name="line.2811"></a>
-<span class="sourceLineNo">2812</span>    return maintenanceModeTracker.isInMaintenanceMode();<a name="line.2812"></a>
-<span class="sourceLineNo">2813</span>  }<a name="line.2813"></a>
-<span class="sourceLineNo">2814</span><a name="line.2814"></a>
-<span class="sourceLineNo">2815</span>  @VisibleForTesting<a name="line.2815"></a>
-<span class="sourceLineNo">2816</span>  public void setInitialized(boolean isInitialized) {<a name="line.2816"></a>
-<span class="sourceLineNo">2817</span>    procedureExecutor.getEnvironment().setEventReady(initialized, isInitialized);<a name="line.2817"></a>
-<span class="sourceLineNo">2818</span>  }<a name="line.2818"></a>
-<span class="sourceLineNo">2819</span><a name="line.2819"></a>
-<span class="sourceLineNo">2820</span>  @Override<a name="line.2820"></a>
-<span class="sourceLineNo">2821</span>  public ProcedureEvent&lt;?&gt; getInitializedEvent() {<a name="line.2821"></a>
-<span class="sourceLineNo">2822</span>    return initialized;<a name="line.2822"></a>
-<span class="sourceLineNo">2823</span>  }<a name="line.2823"></a>
-<span class="sourceLineNo">2824</span><a name="line.2824"></a>
-<span class="sourceLineNo">2825</span>  /**<a name="line.2825"></a>
-<span class="sourceLineNo">2826</span>   * ServerCrashProcessingEnabled is set false before completing assignMeta to prevent processing<a name="line.2826"></a>
-<span class="sourceLineNo">2827</span>   * of crashed servers.<a name="line.2827"></a>
-<span class="sourceLineNo">2828</span>   * @return true if assignMeta has completed;<a name="line.2828"></a>
-<span class="sourceLineNo">2829</span>   */<a name="line.2829"></a>
-<span class="sourceLineNo">2830</span>  @Override<a name="line.2830"></a>
-<span class="sourceLineNo">2831</span>  public boolean isServerCrashProcessingEnabled() {<a name="line.2831"></a>
-<span class="sourceLineNo">2832</span>    return serverCrashProcessingEnabled.isReady();<a name="line.2832"></a>
-<span class="sourceLineNo">2833</span>  }<a name="line.2833"></a>
-<span class="sourceLineNo">2834</span><a name="line.2834"></a>
-<span class="sourceLineNo">2835</span>  @VisibleForTesting<a name="line.2835"></a>
-<span class="sourceLineNo">2836</span>  public void setServerCrashProcessingEnabled(final boolean b) {<a name="line.2836"></a>
-<span class="sourceLineNo">2837</span>    procedureExecutor.getEnvironment().setEventReady(serverCrashProcessingEnabled, b);<a name="line.2837"></a>
-<span class="sourceLineNo">2838</span>  }<a name="line.2838"></a>
-<span class="sourceLineNo">2839</span><a name="line.2839"></a>
-<span class="sourceLineNo">2840</span>  public ProcedureEvent&lt;?&gt; getServerCrashProcessingEnabledEvent() {<a name="line.2840"></a>
-<span class="sourceLineNo">2841</span>    return serverCrashProcessingEnabled;<a name="line.2841"></a>
-<span class="sourceLineNo">2842</span>  }<a name="line.2842"></a>
-<span class="sourceLineNo">2843</span><a name="line.2843"></a>
-<span class="sourceLineNo">2844</span>  /**<a name="line.2844"></a>
-<span class="sourceLineNo">2845</span>   * Compute the average load across all region servers.<a name="line.2845"></a>
-<span class="sourceLineNo">2846</span>   * Currently, this uses a very naive computation - just uses the number of<a name="line.2846"></a>
-<span class="sourceLineNo">2847</span>   * regions being served, ignoring stats about number of requests.<a name="line.2847"></a>
-<span class="sourceLineNo">2848</span>   * @return the average load<a name="line.2848"></a>
-<span class="sourceLineNo">2849</span>   */<a name="line.2849"></a>
-<span class="sourceLineNo">2850</span>  public double getAverageLoad() {<a name="line.2850"></a>
-<span class="sourceLineNo">2851</span>    if (this.assignmentManager == null) {<a name="line.2851"></a>
-<span class="sourceLineNo">2852</span>      return 0;<a name="line.2852"></a>
-<span class="sourceLineNo">2853</span>    }<a name="line.2853"></a>
-<span class="sourceLineNo">2854</span><a name="line.2854"></a>
-<span class="sourceLineNo">2855</span>    RegionStates regionStates = this.assignmentManager.getRegionStates();<a name="line.2855"></a>
-<span class="sourceLineNo">2856</span>    if (regionStates == null) {<a name="line.2856"></a>
-<span class="sourceLineNo">2857</span>      return 0;<a name="line.2857"></a>
-<span class="sourceLineNo">2858</span>    }<a name="line.2858"></a>
-<span class="sourceLineNo">2859</span>    return regionStates.getAverageLoad();<a name="line.2859"></a>
-<span class="sourceLineNo">2860</span>  }<a name="line.2860"></a>
-<span class="sourceLineNo">2861</span><a name="line.2861"></a>
-<span class="sourceLineNo">2862</span>  /*<a name="line.2862"></a>
-<span class="sourceLineNo">2863</span>   * @return the count of region split plans executed<a name="line.2863"></a>
-<span class="sourceLineNo">2864</span>   */<a name="line.2864"></a>
-<span class="sourceLineNo">2865</span>  public long getSplitPlanCount() {<a name="line.2865"></a>
-<span class="sourceLineNo">2866</span>    return splitPlanCount;<a name="line.2866"></a>
-<span class="sourceLineNo">2867</span>  }<a name="line.2867"></a>
-<span class="sourceLineNo">2868</span><a name="line.2868"></a>
-<span class="sourceLineNo">2869</span>  /*<a name="line.2869"></a>
-<span class="sourceLineNo">2870</span>   * @return the count of region merge plans executed<a name="line.2870"></a>
-<span class="sourceLineNo">2871</span>   */<a name="line.2871"></a>
-<span class="sourceLineNo">2872</span>  public long getMergePlanCount() {<a name="line.2872"></a>
-<span class="sourceLineNo">2873</span>    return mergePlanCount;<a name="line.2873"></a>
-<span class="sourceLineNo">2874</span>  }<a name="line.2874"></a>
-<span class="sourceLineNo">2875</span><a name="line.2875"></a>
-<span class="sourceLineNo">2876</span>  @Override<a name="line.2876"></a>
-<span class="sourceLineNo">2877</span>  public boolean registerService(Service instance) {<a name="line.2877"></a>
-<span class="sourceLineNo">2878</span>    /*<a name="line.2878"></a>
-<span class="sourceLineNo">2879</span>     * No stacking of instances is allowed for a single service name<a name="line.2879"></a>
-<span class="sourceLineNo">2880</span>     */<a name="line.2880"></a>
-<span class="sourceLineNo">2881</span>    Descriptors.ServiceDescriptor serviceDesc = instance.getDescriptorForType();<a name="line.2881"></a>
-<span class="sourceLineNo">2882</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.2882"></a>
-<span class="sourceLineNo">2883</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.2883"></a>
-<span class="sourceLineNo">2884</span>      LOG.error("Coprocessor service "+serviceName+<a name="line.2884"></a>
-<span class="sourceLineNo">2885</span>          " already registered, rejecting request from "+instance<a name="line.2885"></a>
-<span class="sourceLineNo">2886</span>      );<a name="line.2886"></a>
-<span class="sourceLineNo">2887</span>      return fa

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncTest.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private Histogram remoteRpcCallsHistogram;<a name="line.1079"></a>
-<span class="s

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html
index 3f8844b..cdb9398 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AsyncRandomReadTest.html
@@ -140,2712 +140,2713 @@
 <span class="sourceLineNo">132</span>public class PerformanceEvaluation extends Configured implements Tool {<a name="line.132"></a>
 <span class="sourceLineNo">133</span>  static final String RANDOM_SEEK_SCAN = "randomSeekScan";<a name="line.133"></a>
 <span class="sourceLineNo">134</span>  static final String RANDOM_READ = "randomRead";<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  private static final Logger LOG = LoggerFactory.getLogger(PerformanceEvaluation.class.getName());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  static {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    MAPPER.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public static final String TABLE_NAME = "TestTable";<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public static final String FAMILY_NAME_BASE = "info";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  public static final byte[] FAMILY_ZERO = Bytes.toBytes("info0");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public static final byte[] COLUMN_ZERO = Bytes.toBytes("" + 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public static final int DEFAULT_VALUE_LENGTH = 1000;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  public static final int ROW_LENGTH = 26;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  private static final int ONE_GB = 1024 * 1024 * 1000;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  private static final int DEFAULT_ROWS_PER_GB = ONE_GB / DEFAULT_VALUE_LENGTH;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  // TODO : should we make this configurable<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  private static final int TAG_LENGTH = 256;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  private static final DecimalFormat FMT = new DecimalFormat("0.##");<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  private static final MathContext CXT = MathContext.DECIMAL64;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  private static final BigDecimal MS_PER_SEC = BigDecimal.valueOf(1000);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  private static final BigDecimal BYTES_PER_MB = BigDecimal.valueOf(1024 * 1024);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  private static final TestOptions DEFAULT_OPTS = new TestOptions();<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  private static Map&lt;String, CmdDescriptor&gt; COMMANDS = new TreeMap&lt;&gt;();<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  private static final Path PERF_EVAL_DIR = new Path("performance_evaluation");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  static {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        "Run async random read test");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        "Run async random write test");<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        "Run async sequential read test");<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        "Run async sequential write test");<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    addCommandDescriptor(AsyncScanTest.class, "asyncScan",<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        "Run async scan test (read every row)");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    addCommandDescriptor(RandomReadTest.class, RANDOM_READ,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      "Run random read test");<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    addCommandDescriptor(RandomSeekScanTest.class, RANDOM_SEEK_SCAN,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      "Run random seek and scan 100 test");<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      "Run random seek scan with both start and stop row (max 10 rows)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    addCommandDescriptor(RandomScanWithRange100Test.class, "scanRange100",<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      "Run random seek scan with both start and stop row (max 100 rows)");<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    addCommandDescriptor(RandomScanWithRange1000Test.class, "scanRange1000",<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      "Run random seek scan with both start and stop row (max 1000 rows)");<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    addCommandDescriptor(RandomScanWithRange10000Test.class, "scanRange10000",<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      "Run random seek scan with both start and stop row (max 10000 rows)");<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    addCommandDescriptor(RandomWriteTest.class, "randomWrite",<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      "Run random write test");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    addCommandDescriptor(SequentialReadTest.class, "sequentialRead",<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      "Run sequential read test");<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      "Run sequential write test");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    addCommandDescriptor(ScanTest.class, "scan",<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      "Run scan test (read every row)");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    addCommandDescriptor(FilteredScanTest.class, "filterScan",<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      "Run scan test using a filter to find a specific row based on it's value " +<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      "(make sure to use --rows=20)");<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    addCommandDescriptor(IncrementTest.class, "increment",<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      "Increment on each row; clients overlap on keyspace so some concurrent operations");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    addCommandDescriptor(AppendTest.class, "append",<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      "Append on each row; clients overlap on keyspace so some concurrent operations");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    addCommandDescriptor(CheckAndMutateTest.class, "checkAndMutate",<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      "CheckAndMutate on each row; clients overlap on keyspace so some concurrent operations");<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    addCommandDescriptor(CheckAndPutTest.class, "checkAndPut",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      "CheckAndPut on each row; clients overlap on keyspace so some concurrent operations");<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    addCommandDescriptor(CheckAndDeleteTest.class, "checkAndDelete",<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      "CheckAndDelete on each row; clients overlap on keyspace so some concurrent operations");<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * Enum for map metrics.  Keep it out here rather than inside in the Map<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * inner-class so we can find associated properties.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  protected static enum Counter {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    /** elapsed time */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    ELAPSED_TIME,<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    /** number of rows */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    ROWS<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  protected static class RunResult implements Comparable&lt;RunResult&gt; {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    public RunResult(long duration, Histogram hist) {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      this.duration = duration;<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      this.hist = hist;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>    public final long duration;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public final Histogram hist;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    public String toString() {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return Long.toString(duration);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    @Override public int compareTo(RunResult o) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return Long.compare(this.duration, o.duration);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * Constructor<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param conf Configuration object<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public PerformanceEvaluation(final Configuration conf) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    super(conf);<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>  protected static void addCommandDescriptor(Class&lt;? extends TestBase&gt; cmdClass,<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      String name, String description) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    CmdDescriptor cmdDescriptor = new CmdDescriptor(cmdClass, name, description);<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    COMMANDS.put(name, cmdDescriptor);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * Implementations can have their status set.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  interface Status {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>     * Sets status<a name="line.256"></a>
-<span class="sourceLineNo">257</span>     * @param msg status message<a name="line.257"></a>
-<span class="sourceLineNo">258</span>     * @throws IOException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>     */<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    void setStatus(final String msg) throws IOException;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * MapReduce job that runs a performance evaluation client in each map task.<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public static class EvaluationMapTask<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      extends Mapper&lt;LongWritable, Text, LongWritable, LongWritable&gt; {<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>    /** configuration parameter name that contains the command */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    public final static String CMD_KEY = "EvaluationMapTask.command";<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    /** configuration parameter name that contains the PE impl */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public static final String PE_KEY = "EvaluationMapTask.performanceEvalImpl";<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private Class&lt;? extends Test&gt; cmd;<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    protected void setup(Context context) throws IOException, InterruptedException {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.cmd = forName(context.getConfiguration().get(CMD_KEY), Test.class);<a name="line.278"></a>
-<span class="sourceLineNo">279</span><a name="line.279"></a>
-<span class="sourceLineNo">280</span>      // this is required so that extensions of PE are instantiated within the<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      // map reduce task...<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      Class&lt;? extends PerformanceEvaluation&gt; peClass =<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          forName(context.getConfiguration().get(PE_KEY), PerformanceEvaluation.class);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      try {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>        peClass.getConstructor(Configuration.class).newInstance(context.getConfiguration());<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      } catch (Exception e) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>        throw new IllegalStateException("Could not instantiate PE instance", e);<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>    private &lt;Type&gt; Class&lt;? extends Type&gt; forName(String className, Class&lt;Type&gt; type) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>        return Class.forName(className).asSubclass(type);<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      } catch (ClassNotFoundException e) {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        throw new IllegalStateException("Could not find class for name: " + className, e);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>    @Override<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected void map(LongWritable key, Text value, final Context context)<a name="line.300"></a>
-<span class="sourceLineNo">301</span>           throws IOException, InterruptedException {<a name="line.301"></a>
-<span class="sourceLineNo">302</span><a name="line.302"></a>
-<span class="sourceLineNo">303</span>      Status status = new Status() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>        @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        public void setStatus(String msg) {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>           context.setStatus(msg);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      };<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ObjectMapper mapper = new ObjectMapper();<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      TestOptions opts = mapper.readValue(value.toString(), TestOptions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      Configuration conf = HBaseConfiguration.create(context.getConfiguration());<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      final Connection con = ConnectionFactory.createConnection(conf);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      AsyncConnection asyncCon = null;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      try {<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      } catch (ExecutionException e) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>        throw new IOException(e);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // Evaluation task<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      RunResult result = PerformanceEvaluation.runOneClient(this.cmd, conf, con, asyncCon, opts, status);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      // Collect how much time the thing took. Report as map output and<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      // to the ELAPSED_TIME counter.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      context.getCounter(Counter.ELAPSED_TIME).increment(result.duration);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      context.getCounter(Counter.ROWS).increment(opts.perClientRunRows);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      context.write(new LongWritable(opts.startRow), new LongWritable(result.duration));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      context.progress();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
-<span class="sourceLineNo">331</span><a name="line.331"></a>
-<span class="sourceLineNo">332</span>  /*<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If table does not already exist, create. Also create a table when<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * {@code opts.presplitRegions} is specified or when the existing table's<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * region replica count doesn't match {@code opts.replicas}.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static boolean checkTable(Admin admin, TestOptions opts) throws IOException {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    TableName tableName = TableName.valueOf(opts.tableName);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    boolean needsDelete = false, exists = admin.tableExists(tableName);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    boolean isReadCmd = opts.cmdName.toLowerCase(Locale.ROOT).contains("read")<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      || opts.cmdName.toLowerCase(Locale.ROOT).contains("scan");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    if (!exists &amp;&amp; isReadCmd) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      throw new IllegalStateException(<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        "Must specify an existing table for read commands. Run a write command first.");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    HTableDescriptor desc =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      exists ? admin.getTableDescriptor(TableName.valueOf(opts.tableName)) : null;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    byte[][] splits = getSplits(opts);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    // recreate the table when user has requested presplit or when existing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    // {RegionSplitPolicy,replica count} does not match requested, or when the<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    // number of column families does not match requested.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if ((exists &amp;&amp; opts.presplitRegions != DEFAULT_OPTS.presplitRegions)<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          !StringUtils.equals(desc.getRegionSplitPolicyClassName(), opts.splitPolicy))<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      || (!isReadCmd &amp;&amp; desc != null &amp;&amp; desc.getRegionReplication() != opts.replicas)<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      || (desc != null &amp;&amp; desc.getColumnFamilyCount() != opts.families)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      needsDelete = true;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      // wait, why did it delete my table?!?<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      LOG.debug(MoreObjects.toStringHelper("needsDelete")<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        .add("needsDelete", needsDelete)<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        .add("isReadCmd", isReadCmd)<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        .add("exists", exists)<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        .add("desc", desc)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        .add("presplit", opts.presplitRegions)<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        .add("splitPolicy", opts.splitPolicy)<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        .add("replicas", opts.replicas)<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        .add("families", opts.families)<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        .toString());<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    // remove an existing table<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    if (needsDelete) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      if (admin.isTableEnabled(tableName)) {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        admin.disableTable(tableName);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      }<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      admin.deleteTable(tableName);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span><a name="line.379"></a>
-<span class="sourceLineNo">380</span>    // table creation is necessary<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    if (!exists || needsDelete) {<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      desc = getTableDescriptor(opts);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      if (splits != null) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        if (LOG.isDebugEnabled()) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          for (int i = 0; i &lt; splits.length; i++) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          }<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      admin.createTable(desc, splits);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      LOG.info("Table " + desc + " created");<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    return admin.tableExists(tableName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>  /**<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * Create an HTableDescriptor from provided TestOptions.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   */<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  protected static HTableDescriptor getTableDescriptor(TestOptions opts) {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf(opts.tableName));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    for (int family = 0; family &lt; opts.families; family++) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] familyName = Bytes.toBytes(FAMILY_NAME_BASE + family);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      HColumnDescriptor familyDesc = new HColumnDescriptor(familyName);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      familyDesc.setDataBlockEncoding(opts.blockEncoding);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      familyDesc.setCompressionType(opts.compression);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      familyDesc.setBloomFilterType(opts.bloomType);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      familyDesc.setBlocksize(opts.blockSize);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      if (opts.inMemoryCF) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        familyDesc.setInMemory(true);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      familyDesc.setInMemoryCompaction(opts.inMemoryCompaction);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      tableDesc.addFamily(familyDesc);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    if (opts.replicas != DEFAULT_OPTS.replicas) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      tableDesc.setRegionReplication(opts.replicas);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    if (opts.splitPolicy != null &amp;&amp; !opts.splitPolicy.equals(DEFAULT_OPTS.splitPolicy)) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      tableDesc.setRegionSplitPolicyClassName(opts.splitPolicy);<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    return tableDesc;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  /**<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   * generates splits based on total number of rows and specified split regions<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   */<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  protected static byte[][] getSplits(TestOptions opts) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    if (opts.presplitRegions == DEFAULT_OPTS.presplitRegions)<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      return null;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>    int numSplitPoints = opts.presplitRegions - 1;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    byte[][] splits = new byte[numSplitPoints][];<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    int jump = opts.totalRows / opts.presplitRegions;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    for (int i = 0; i &lt; numSplitPoints; i++) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>      int rowkey = jump * (1 + i);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      splits[i] = format(rowkey);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    return splits;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>  }<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>  /*<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   * Run all clients in this vm each to its own thread.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   */<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  static RunResult[] doLocalClients(final TestOptions opts, final Configuration conf)<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      throws IOException, InterruptedException, ExecutionException {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    assert cmd != null;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    @SuppressWarnings("unchecked")<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    Future&lt;RunResult&gt;[] threads = new Future[opts.numClientThreads];<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    RunResult[] results = new RunResult[opts.numClientThreads];<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    ExecutorService pool = Executors.newFixedThreadPool(opts.numClientThreads,<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      new ThreadFactoryBuilder().setNameFormat("TestClient-%s").build());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>    final Connection con = ConnectionFactory.createConnection(conf);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    final AsyncConnection asyncCon = ConnectionFactory.createAsyncConnection(conf).get();<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      final int index = i;<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      threads[i] = pool.submit(new Callable&lt;RunResult&gt;() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        @Override<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        public RunResult call() throws Exception {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          TestOptions threadOpts = new TestOptions(opts);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>          if (threadOpts.startRow == 0) threadOpts.startRow = index * threadOpts.perClientRunRows;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          RunResult run = runOneClient(cmd, conf, con, asyncCon, threadOpts, new Status() {<a name="line.461"></a>
-<span class="sourceLineNo">462</span>            @Override<a name="line.462"></a>
-<span class="sourceLineNo">463</span>            public void setStatus(final String msg) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>              LOG.info(msg);<a name="line.464"></a>
-<span class="sourceLineNo">465</span>            }<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          });<a name="line.466"></a>
-<span class="sourceLineNo">467</span>          LOG.info("Finished " + Thread.currentThread().getName() + " in " + run.duration +<a name="line.467"></a>
-<span class="sourceLineNo">468</span>            "ms over " + threadOpts.perClientRunRows + " rows");<a name="line.468"></a>
-<span class="sourceLineNo">469</span>          return run;<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>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    pool.shutdown();<a name="line.473"></a>
-<span class="sourceLineNo">474</span><a name="line.474"></a>
-<span class="sourceLineNo">475</span>    for (int i = 0; i &lt; threads.length; i++) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      try {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        results[i] = threads[i].get();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      } catch (ExecutionException e) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        throw new IOException(e.getCause());<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>    final String test = cmd.getSimpleName();<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    LOG.info("[" + test + "] Summary of timings (ms): "<a name="line.483"></a>
-<span class="sourceLineNo">484</span>             + Arrays.toString(results));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    Arrays.sort(results);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    long total = 0;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    for (RunResult result : results) {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      total += result.duration;<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    }<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    LOG.info("[" + test + "]"<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      + "\tMin: " + results[0] + "ms"<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      + "\tMax: " + results[results.length - 1] + "ms"<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      + "\tAvg: " + (total / results.length) + "ms");<a name="line.493"></a>
-<span class="sourceLineNo">494</span><a name="line.494"></a>
-<span class="sourceLineNo">495</span>    con.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    asyncCon.close();<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>    return results;<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>   * Run a mapreduce job.  Run as many maps as asked-for clients.<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * Before we start up the job, write out an input file with instruction<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   * per client regards which row they are to start on.<a name="line.504"></a>
-<span class="sourceLineNo">505</span>   * @param cmd Command to run.<a name="line.505"></a>
-<span class="sourceLineNo">506</span>   * @throws IOException<a name="line.506"></a>
-<span class="sourceLineNo">507</span>   */<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  static Job doMapReduce(TestOptions opts, final Configuration conf)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      throws IOException, InterruptedException, ClassNotFoundException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    final Class&lt;? extends TestBase&gt; cmd = determineCommandClass(opts.cmdName);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    assert cmd != null;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    Path inputDir = writeInputFile(conf, opts);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    conf.set(EvaluationMapTask.CMD_KEY, cmd.getName());<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    conf.set(EvaluationMapTask.PE_KEY, PerformanceEvaluation.class.getName());<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    Job job = Job.getInstance(conf);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    job.setJarByClass(PerformanceEvaluation.class);<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    job.setJobName("HBase Performance Evaluation - " + opts.cmdName);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    job.setInputFormatClass(NLineInputFormat.class);<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    NLineInputFormat.setInputPaths(job, inputDir);<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    // this is default, but be explicit about it just in case.<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    NLineInputFormat.setNumLinesPerSplit(job, 1);<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    job.setOutputKeyClass(LongWritable.class);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    job.setOutputValueClass(LongWritable.class);<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>    job.setMapperClass(EvaluationMapTask.class);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    job.setReducerClass(LongSumReducer.class);<a name="line.528"></a>
-<span class="sourceLineNo">529</span><a name="line.529"></a>
-<span class="sourceLineNo">530</span>    job.setNumReduceTasks(1);<a name="line.530"></a>
-<span class="sourceLineNo">531</span><a name="line.531"></a>
-<span class="sourceLineNo">532</span>    job.setOutputFormatClass(TextOutputFormat.class);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    TextOutputFormat.setOutputPath(job, new Path(inputDir.getParent(), "outputs"));<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>    TableMapReduceUtil.addDependencyJars(job);<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Histogram.class,     // yammer metrics<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      ObjectMapper.class,  // jackson-mapper-asl<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      FilterAllFilter.class // hbase-server tests jar<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>    TableMapReduceUtil.initCredentials(job);<a name="line.542"></a>
-<span class="sourceLineNo">543</span><a name="line.543"></a>
-<span class="sourceLineNo">544</span>    job.waitForCompletion(true);<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return job;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Each client has one mapper to do the work,  and client do the resulting count in a map task.<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>  static String JOB_INPUT_FILENAME = "input.txt";<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>   * Write input file of offsets-per-client for the mapreduce job.<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * @param c Configuration<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * @return Directory that contains file written whose name is JOB_INPUT_FILENAME<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * @throws IOException<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   */<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  static Path writeInputFile(final Configuration c, final TestOptions opts) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return writeInputFile(c, opts, new Path("."));<a name="line.561"></a>
-<span class="sourceLineNo">562</span>  }<a name="line.562"></a>
-<span class="sourceLineNo">563</span><a name="line.563"></a>
-<span class="sourceLineNo">564</span>  static Path writeInputFile(final Configuration c, final TestOptions opts, final Path basedir)<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  throws IOException {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    Path jobdir = new Path(new Path(basedir, PERF_EVAL_DIR), formatter.format(new Date()));<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    Path inputDir = new Path(jobdir, "inputs");<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    FileSystem fs = FileSystem.get(c);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    fs.mkdirs(inputDir);<a name="line.571"></a>
-<span class="sourceLineNo">572</span><a name="line.572"></a>
-<span class="sourceLineNo">573</span>    Path inputFile = new Path(inputDir, JOB_INPUT_FILENAME);<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    PrintStream out = new PrintStream(fs.create(inputFile));<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    // Make input random.<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Map&lt;Integer, String&gt; m = new TreeMap&lt;&gt;();<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    Hash h = MurmurHash.getInstance();<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    int perClientRows = (opts.totalRows / opts.numClientThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    try {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      for (int j = 0; j &lt; opts.numClientThreads; j++) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        TestOptions next = new TestOptions(opts);<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        next.startRow = j * perClientRows;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>        next.perClientRunRows = perClientRows;<a name="line.583"></a>
-<span class="sourceLineNo">584</span>        String s = MAPPER.writeValueAsString(next);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>        LOG.info("Client=" + j + ", input=" + s);<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        byte[] b = Bytes.toBytes(s);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        int hash = h.hash(new ByteArrayHashKey(b, 0, b.length), -1);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        m.put(hash, s);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      for (Map.Entry&lt;Integer, String&gt; e: m.entrySet()) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span>        out.println(e.getValue());<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      }<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    } finally {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      out.close();<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    return inputDir;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  }<a name="line.597"></a>
-<span class="sourceLineNo">598</span><a name="line.598"></a>
-<span class="sourceLineNo">599</span>  /**<a name="line.599"></a>
-<span class="sourceLineNo">600</span>   * Describes a command.<a name="line.600"></a>
-<span class="sourceLineNo">601</span>   */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  static class CmdDescriptor {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>    private Class&lt;? extends TestBase&gt; cmdClass;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    private String name;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    private String description;<a name="line.605"></a>
-<span class="sourceLineNo">606</span><a name="line.606"></a>
-<span class="sourceLineNo">607</span>    CmdDescriptor(Class&lt;? extends TestBase&gt; cmdClass, String name, String description) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.cmdClass = cmdClass;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>      this.name = name;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>      this.description = description;<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>    public Class&lt;? extends TestBase&gt; getCmdClass() {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>      return cmdClass;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>    public String getName() {<a name="line.617"></a>
-<span class="sourceLineNo">618</span>      return name;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    }<a name="line.619"></a>
-<span class="sourceLineNo">620</span><a name="line.620"></a>
-<span class="sourceLineNo">621</span>    public String getDescription() {<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      return description;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    }<a name="line.623"></a>
-<span class="sourceLineNo">624</span>  }<a name="line.624"></a>
-<span class="sourceLineNo">625</span><a name="line.625"></a>
-<span class="sourceLineNo">626</span>  /**<a name="line.626"></a>
-<span class="sourceLineNo">627</span>   * Wraps up options passed to {@link org.apache.hadoop.hbase.PerformanceEvaluation}.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>   * This makes tracking all these arguments a little easier.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * NOTE: ADDING AN OPTION, you need to add a data member, a getter/setter (to make JSON<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * serialization of this TestOptions class behave), and you need to add to the clone constructor<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * below copying your new option from the 'that' to the 'this'.  Look for 'clone' below.<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  static class TestOptions {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    String cmdName = null;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    boolean nomapred = false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    boolean filterAll = false;<a name="line.636"></a>
-<span class="sourceLineNo">637</span>    int startRow = 0;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    float size = 1.0f;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    int perClientRunRows = DEFAULT_ROWS_PER_GB;<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    int numClientThreads = 1;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>    int totalRows = DEFAULT_ROWS_PER_GB;<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    int measureAfter = 0;<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    float sampleRate = 1.0f;<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    double traceRate = 0.0;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    String tableName = TABLE_NAME;<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    boolean flushCommits = true;<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    boolean writeToWAL = true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    boolean autoFlush = false;<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    boolean oneCon = false;<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    boolean useTags = false;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    int noOfTags = 1;<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    boolean reportLatency = false;<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    int multiGet = 0;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    int randomSleep = 0;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    boolean inMemoryCF = false;<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    int presplitRegions = 0;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    int replicas = HTableDescriptor.DEFAULT_REGION_REPLICATION;<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    String splitPolicy = null;<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    Compression.Algorithm compression = Compression.Algorithm.NONE;<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    BloomType bloomType = BloomType.ROW;<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    int blockSize = HConstants.DEFAULT_BLOCKSIZE;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    DataBlockEncoding blockEncoding = DataBlockEncoding.NONE;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    boolean valueRandom = false;<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    boolean valueZipf = false;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    int valueSize = DEFAULT_VALUE_LENGTH;<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    int period = (this.perClientRunRows / 10) == 0? perClientRunRows: perClientRunRows / 10;<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    int cycles = 1;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int columns = 1;<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    int families = 1;<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    int caching = 30;<a name="line.670"></a>
-<span class="sourceLineNo">671</span>    boolean addColumns = true;<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    MemoryCompactionPolicy inMemoryCompaction =<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        MemoryCompactionPolicy.valueOf(<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            CompactingMemStore.COMPACTING_MEMSTORE_TYPE_DEFAULT);<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    boolean asyncPrefetch = false;<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    boolean cacheBlocks = true;<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    Scan.ReadType scanReadType = Scan.ReadType.DEFAULT;<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    long bufferSize = 2l * 1024l * 1024l;<a name="line.678"></a>
-<span class="sourceLineNo">679</span><a name="line.679"></a>
-<span class="sourceLineNo">680</span>    public TestOptions() {}<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span>    /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span>     * Clone constructor.<a name="line.683"></a>
-<span class="sourceLineNo">684</span>     * @param that Object to copy from.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>     */<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    public TestOptions(TestOptions that) {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      this.cmdName = that.cmdName;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      this.cycles = that.cycles;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      this.nomapred = that.nomapred;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      this.startRow = that.startRow;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      this.size = that.size;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>      this.perClientRunRows = that.perClientRunRows;<a name="line.692"></a>
-<span class="sourceLineNo">693</span>      this.numClientThreads = that.numClientThreads;<a name="line.693"></a>
-<span class="sourceLineNo">694</span>      this.totalRows = that.totalRows;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>      this.sampleRate = that.sampleRate;<a name="line.695"></a>
-<span class="sourceLineNo">696</span>      this.traceRate = that.traceRate;<a name="line.696"></a>
-<span class="sourceLineNo">697</span>      this.tableName = that.tableName;<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      this.flushCommits = that.flushCommits;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      this.writeToWAL = that.writeToWAL;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      this.autoFlush = that.autoFlush;<a name="line.700"></a>
-<span class="sourceLineNo">701</span>      this.oneCon = that.oneCon;<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      this.useTags = that.useTags;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      this.noOfTags = that.noOfTags;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>      this.reportLatency = that.reportLatency;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      this.multiGet = that.multiGet;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>      this.inMemoryCF = that.inMemoryCF;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      this.presplitRegions = that.presplitRegions;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      this.replicas = that.replicas;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      this.splitPolicy = that.splitPolicy;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      this.compression = that.compression;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      this.blockEncoding = that.blockEncoding;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      this.filterAll = that.filterAll;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      this.bloomType = that.bloomType;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      this.blockSize = that.blockSize;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      this.valueRandom = that.valueRandom;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      this.valueZipf = that.valueZipf;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      this.valueSize = that.valueSize;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      this.period = that.period;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      this.randomSleep = that.randomSleep;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      this.measureAfter = that.measureAfter;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      this.addColumns = that.addColumns;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      this.columns = that.columns;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      this.families = that.families;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>      this.caching = that.caching;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>      this.inMemoryCompaction = that.inMemoryCompaction;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      this.asyncPrefetch = that.asyncPrefetch;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      this.cacheBlocks = that.cacheBlocks;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.scanReadType = that.scanReadType;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      this.bufferSize = that.bufferSize;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span><a name="line.731"></a>
-<span class="sourceLineNo">732</span>    public int getCaching() {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>      return this.caching;<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>    public void setCaching(final int caching) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>      this.caching = caching;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>    }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>    public int getColumns() {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      return this.columns;<a name="line.741"></a>
-<span class="sourceLineNo">742</span>    }<a name="line.742"></a>
-<span class="sourceLineNo">743</span><a name="line.743"></a>
-<span class="sourceLineNo">744</span>    public void setColumns(final int columns) {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      this.columns = columns;<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>    public int getFamilies() {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      return this.families;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>    public void setFamilies(final int families) {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>      this.families = families;<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    public int getCycles() {<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      return this.cycles;<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
-<span class="sourceLineNo">759</span><a name="line.759"></a>
-<span class="sourceLineNo">760</span>    public void setCycles(final int cycles) {<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      this.cycles = cycles;<a name="line.761"></a>
-<span class="sourceLineNo">762</span>    }<a name="line.762"></a>
-<span class="sourceLineNo">763</span><a name="line.763"></a>
-<span class="sourceLineNo">764</span>    public boolean isValueZipf() {<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      return valueZipf;<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>    public void setValueZipf(boolean valueZipf) {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>      this.valueZipf = valueZipf;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>    public String getCmdName() {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      return cmdName;<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>    public void setCmdName(String cmdName) {<a name="line.776"></a>
-<span class="sourceLineNo">777</span>      this.cmdName = cmdName;<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>    public int getRandomSleep() {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      return randomSleep;<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    }<a name="line.782"></a>
-<span class="sourceLineNo">783</span><a name="line.783"></a>
-<span class="sourceLineNo">784</span>    public void setRandomSleep(int randomSleep) {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>      this.randomSleep = randomSleep;<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>    public int getReplicas() {<a name="line.788"></a>
-<span class="sourceLineNo">789</span>      return replicas;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    }<a name="line.790"></a>
-<span class="sourceLineNo">791</span><a name="line.791"></a>
-<span class="sourceLineNo">792</span>    public void setReplicas(int replicas) {<a name="line.792"></a>
-<span class="sourceLineNo">793</span>      this.replicas = replicas;<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    }<a name="line.794"></a>
-<span class="sourceLineNo">795</span><a name="line.795"></a>
-<span class="sourceLineNo">796</span>    public String getSplitPolicy() {<a name="line.796"></a>
-<span class="sourceLineNo">797</span>      return splitPolicy;<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span>    public void setSplitPolicy(String splitPolicy) {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>      this.splitPolicy = splitPolicy;<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    }<a name="line.802"></a>
-<span class="sourceLineNo">803</span><a name="line.803"></a>
-<span class="sourceLineNo">804</span>    public void setNomapred(boolean nomapred) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      this.nomapred = nomapred;<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    }<a name="line.806"></a>
-<span class="sourceLineNo">807</span><a name="line.807"></a>
-<span class="sourceLineNo">808</span>    public void setFilterAll(boolean filterAll) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      this.filterAll = filterAll;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>    }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>    public void setStartRow(int startRow) {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>      this.startRow = startRow;<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    }<a name="line.814"></a>
-<span class="sourceLineNo">815</span><a name="line.815"></a>
-<span class="sourceLineNo">816</span>    public void setSize(float size) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.size = size;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>    public void setPerClientRunRows(int perClientRunRows) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>      this.perClientRunRows = perClientRunRows;<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>    public void setNumClientThreads(int numClientThreads) {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      this.numClientThreads = numClientThreads;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    }<a name="line.826"></a>
-<span class="sourceLineNo">827</span><a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public void setTotalRows(int totalRows) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      this.totalRows = totalRows;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    }<a name="line.830"></a>
-<span class="sourceLineNo">831</span><a name="line.831"></a>
-<span class="sourceLineNo">832</span>    public void setSampleRate(float sampleRate) {<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      this.sampleRate = sampleRate;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>    public void setTraceRate(double traceRate) {<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      this.traceRate = traceRate;<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>    public void setTableName(String tableName) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>      this.tableName = tableName;<a name="line.841"></a>
-<span class="sourceLineNo">842</span>    }<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    public void setFlushCommits(boolean flushCommits) {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      this.flushCommits = flushCommits;<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    }<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>    public void setWriteToWAL(boolean writeToWAL) {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      this.writeToWAL = writeToWAL;<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>    public void setAutoFlush(boolean autoFlush) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      this.autoFlush = autoFlush;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>    }<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    public void setOneCon(boolean oneCon) {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      this.oneCon = oneCon;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>    }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>    public void setUseTags(boolean useTags) {<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.useTags = useTags;<a name="line.861"></a>
-<span class="sourceLineNo">862</span>    }<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>    public void setNoOfTags(int noOfTags) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.noOfTags = noOfTags;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    }<a name="line.866"></a>
-<span class="sourceLineNo">867</span><a name="line.867"></a>
-<span class="sourceLineNo">868</span>    public void setReportLatency(boolean reportLatency) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      this.reportLatency = reportLatency;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>    public void setMultiGet(int multiGet) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>      this.multiGet = multiGet;<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    }<a name="line.874"></a>
-<span class="sourceLineNo">875</span><a name="line.875"></a>
-<span class="sourceLineNo">876</span>    public void setInMemoryCF(boolean inMemoryCF) {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      this.inMemoryCF = inMemoryCF;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span><a name="line.879"></a>
-<span class="sourceLineNo">880</span>    public void setPresplitRegions(int presplitRegions) {<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      this.presplitRegions = presplitRegions;<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    }<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span>    public void setCompression(Compression.Algorithm compression) {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      this.compression = compression;<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    }<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span>    public void setBloomType(BloomType bloomType) {<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      this.bloomType = bloomType;<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span>    public void setBlockSize(int blockSize) {<a name="line.892"></a>
-<span class="sourceLineNo">893</span>      this.blockSize = blockSize;<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    }<a name="line.894"></a>
-<span class="sourceLineNo">895</span><a name="line.895"></a>
-<span class="sourceLineNo">896</span>    public void setBlockEncoding(DataBlockEncoding blockEncoding) {<a name="line.896"></a>
-<span class="sourceLineNo">897</span>      this.blockEncoding = blockEncoding;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>    public void setValueRandom(boolean valueRandom) {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      this.valueRandom = valueRandom;<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
-<span class="sourceLineNo">903</span><a name="line.903"></a>
-<span class="sourceLineNo">904</span>    public void setValueSize(int valueSize) {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      this.valueSize = valueSize;<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span><a name="line.907"></a>
-<span class="sourceLineNo">908</span>    public void setBufferSize(long bufferSize) {<a name="line.908"></a>
-<span class="sourceLineNo">909</span>      this.bufferSize = bufferSize;<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    }<a name="line.910"></a>
-<span class="sourceLineNo">911</span><a name="line.911"></a>
-<span class="sourceLineNo">912</span>    public void setPeriod(int period) {<a name="line.912"></a>
-<span class="sourceLineNo">913</span>      this.period = period;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>    }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>    public boolean isNomapred() {<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      return nomapred;<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    }<a name="line.918"></a>
-<span class="sourceLineNo">919</span><a name="line.919"></a>
-<span class="sourceLineNo">920</span>    public boolean isFilterAll() {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>      return filterAll;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    }<a name="line.922"></a>
-<span class="sourceLineNo">923</span><a name="line.923"></a>
-<span class="sourceLineNo">924</span>    public int getStartRow() {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>      return startRow;<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    public float getSize() {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return size;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span><a name="line.931"></a>
-<span class="sourceLineNo">932</span>    public int getPerClientRunRows() {<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      return perClientRunRows;<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    }<a name="line.934"></a>
-<span class="sourceLineNo">935</span><a name="line.935"></a>
-<span class="sourceLineNo">936</span>    public int getNumClientThreads() {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      return numClientThreads;<a name="line.937"></a>
-<span class="sourceLineNo">938</span>    }<a name="line.938"></a>
-<span class="sourceLineNo">939</span><a name="line.939"></a>
-<span class="sourceLineNo">940</span>    public int getTotalRows() {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>      return totalRows;<a name="line.941"></a>
-<span class="sourceLineNo">942</span>    }<a name="line.942"></a>
-<span class="sourceLineNo">943</span><a name="line.943"></a>
-<span class="sourceLineNo">944</span>    public float getSampleRate() {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      return sampleRate;<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    }<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    public double getTraceRate() {<a name="line.948"></a>
-<span class="sourceLineNo">949</span>      return traceRate;<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    }<a name="line.950"></a>
-<span class="sourceLineNo">951</span><a name="line.951"></a>
-<span class="sourceLineNo">952</span>    public String getTableName() {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return tableName;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span><a name="line.955"></a>
-<span class="sourceLineNo">956</span>    public boolean isFlushCommits() {<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      return flushCommits;<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    }<a name="line.958"></a>
-<span class="sourceLineNo">959</span><a name="line.959"></a>
-<span class="sourceLineNo">960</span>    public boolean isWriteToWAL() {<a name="line.960"></a>
-<span class="sourceLineNo">961</span>      return writeToWAL;<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    }<a name="line.962"></a>
-<span class="sourceLineNo">963</span><a name="line.963"></a>
-<span class="sourceLineNo">964</span>    public boolean isAutoFlush() {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      return autoFlush;<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    }<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    public boolean isUseTags() {<a name="line.968"></a>
-<span class="sourceLineNo">969</span>      return useTags;<a name="line.969"></a>
-<span class="sourceLineNo">970</span>    }<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>    public int getNoOfTags() {<a name="line.972"></a>
-<span class="sourceLineNo">973</span>      return noOfTags;<a name="line.973"></a>
-<span class="sourceLineNo">974</span>    }<a name="line.974"></a>
-<span class="sourceLineNo">975</span><a name="line.975"></a>
-<span class="sourceLineNo">976</span>    public boolean isReportLatency() {<a name="line.976"></a>
-<span class="sourceLineNo">977</span>      return reportLatency;<a name="line.977"></a>
-<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span>    public int getMultiGet() {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      return multiGet;<a name="line.981"></a>
-<span class="sourceLineNo">982</span>    }<a name="line.982"></a>
-<span class="sourceLineNo">983</span><a name="line.983"></a>
-<span class="sourceLineNo">984</span>    public boolean isInMemoryCF() {<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      return inMemoryCF;<a name="line.985"></a>
-<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
-<span class="sourceLineNo">987</span><a name="line.987"></a>
-<span class="sourceLineNo">988</span>    public int getPresplitRegions() {<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      return presplitRegions;<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    }<a name="line.990"></a>
-<span class="sourceLineNo">991</span><a name="line.991"></a>
-<span class="sourceLineNo">992</span>    public Compression.Algorithm getCompression() {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      return compression;<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    public DataBlockEncoding getBlockEncoding() {<a name="line.996"></a>
-<span class="sourceLineNo">997</span>      return blockEncoding;<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    }<a name="line.998"></a>
-<span class="sourceLineNo">999</span><a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    public boolean isValueRandom() {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      return valueRandom;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span><a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    public int getValueSize() {<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>      return valueSize;<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>    }<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span><a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>    public int getPeriod() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>      return period;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    public BloomType getBloomType() {<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      return bloomType;<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    }<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span><a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>    public int getBlockSize() {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      return blockSize;<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span><a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    public boolean isOneCon() {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      return oneCon;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>    public int getMeasureAfter() {<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>      return measureAfter;<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    }<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span><a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    public void setMeasureAfter(int measureAfter) {<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      this.measureAfter = measureAfter;<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    public boolean getAddColumns() {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      return addColumns;<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>    }<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span><a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    public void setAddColumns(boolean addColumns) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      this.addColumns = addColumns;<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span><a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>    public void setInMemoryCompaction(MemoryCompactionPolicy inMemoryCompaction) {<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>      this.inMemoryCompaction = inMemoryCompaction;<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span><a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    public MemoryCompactionPolicy getInMemoryCompaction() {<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>      return this.inMemoryCompaction;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    public long getBufferSize() {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>      return this.bufferSize;<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    }<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>  }<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span><a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>  /*<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>   * A test.<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>   * Subclass to particularize what happens per row.<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>   */<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>  static abstract class TestBase {<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    // Below is make it so when Tests are all running in the one<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    // jvm, that they each have a differently seeded Random.<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    private static final Random randomSeed = new Random(System.currentTimeMillis());<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span><a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    private static long nextRandomSeed() {<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>      return randomSeed.nextLong();<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    }<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>    private final int everyN;<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span><a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>    protected final Random rand = new Random(nextRandomSeed());<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    protected final Configuration conf;<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    protected final TestOptions opts;<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span><a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>    private final Status status;<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>    private final Sampler traceSampler;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>    private final SpanReceiverHost receiverHost;<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span><a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>    private String testName;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>    private Histogram latencyHistogram;<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    private Histogram valueSizeHistogram;<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    private Histogram rpcCallsHistogram;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    private Histogram remoteRpcCalls

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/MasterObserver.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
index 20d8c57..dea6213 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/MasterObserver.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":18,"i1":18,"i2":18,"i3":18,"i4":18,"i5":18,"i6":18,"i7":18,"i8":18,"i9":18,"i10":18,"i11":18,"i12":18,"i13":18,"i14":18,"i15":18,"i16":18,"i17":18,"i18":18,"i19":18,"i20":18,"i21":18,"i22":18,"i23":18,"i24":18,"i25":18,"i26":18,"i27":18,"i28":18,"i29":18,"i30":18,"i31":18,"i32":18,"i33":18,"i34":18,"i35":18,"i36":18,"i37":18,"i38":18,"i39":18,"i40":18,"i41":18,"i42":18,"i43":18,"i44":18,"i45":18,"i46":18,"i47":18,"i48":18,"i49":18,"i50":18,"i51":18,"i52":18,"i53":18,"i54":18,"i55":18,"i56":18,"i57":18,"i58":18,"i59":18,"i60":18,"i61":18,"i62":18,"i63":18,"i64":18,"i65":18,"i66":18,"i67":18,"i68":18,"i69":18,"i70":18,"i71":18,"i72":18,"i73":18,"i74":18,"i75":18,"i76":18,"i77":18,"i78":18,"i79":18,"i80":18,"i81":18,"i82":18,"i83":18,"i84":18,"i85":18,"i86":18,"i87":18,"i88":18,"i89":18,"i90":18,"i91":18,"i92":18,"i93":18,"i94":18,"i95":18,"i96":18,"i97":18,"i98":18,"i99":18,"i100":18,"i101":18,"i102":18,"i103":18,"i104":18,"i105":18,"i106":18,"i107":18,"i108":18,"i
 109":18,"i110":18,"i111":18,"i112":18,"i113":18,"i114":18,"i115":18,"i116":18,"i117":18,"i118":18,"i119":18,"i120":18,"i121":18,"i122":18,"i123":18,"i124":18,"i125":18,"i126":18,"i127":18,"i128":18,"i129":18,"i130":18,"i131":18,"i132":18,"i133":18,"i134":18,"i135":18,"i136":18,"i137":18,"i138":18};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],16:["t5","Default Methods"]};
+var methods = {"i0":18,"i1":18,"i2":18,"i3":18,"i4":18,"i5":18,"i6":18,"i7":18,"i8":18,"i9":18,"i10":18,"i11":18,"i12":18,"i13":18,"i14":50,"i15":18,"i16":18,"i17":18,"i18":18,"i19":18,"i20":18,"i21":18,"i22":18,"i23":18,"i24":18,"i25":18,"i26":18,"i27":18,"i28":18,"i29":18,"i30":18,"i31":18,"i32":18,"i33":18,"i34":18,"i35":18,"i36":18,"i37":18,"i38":18,"i39":18,"i40":18,"i41":18,"i42":50,"i43":18,"i44":50,"i45":18,"i46":18,"i47":18,"i48":18,"i49":18,"i50":18,"i51":18,"i52":18,"i53":18,"i54":18,"i55":18,"i56":18,"i57":18,"i58":18,"i59":18,"i60":18,"i61":18,"i62":18,"i63":18,"i64":18,"i65":18,"i66":18,"i67":18,"i68":18,"i69":18,"i70":18,"i71":18,"i72":18,"i73":18,"i74":18,"i75":18,"i76":18,"i77":18,"i78":18,"i79":18,"i80":18,"i81":18,"i82":18,"i83":18,"i84":18,"i85":18,"i86":18,"i87":18,"i88":18,"i89":18,"i90":18,"i91":18,"i92":18,"i93":18,"i94":18,"i95":18,"i96":18,"i97":18,"i98":18,"i99":18,"i100":18,"i101":18,"i102":18,"i103":18,"i104":18,"i105":18,"i106":18,"i107":18,"i108":18,"i
 109":18,"i110":50,"i111":18,"i112":50,"i113":18,"i114":50,"i115":18,"i116":18,"i117":18,"i118":18,"i119":18,"i120":18,"i121":18,"i122":18,"i123":18,"i124":18,"i125":18,"i126":18,"i127":18,"i128":18,"i129":18,"i130":18,"i131":18,"i132":18,"i133":18,"i134":18,"i135":18,"i136":18,"i137":18,"i138":18,"i139":18,"i140":18,"i141":18,"i142":18,"i143":18,"i144":18};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -145,7 +145,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 </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="t5" class="tableTab"><span><a href="javascript:show(16);">Default 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="t5" class="tableTab"><span><a href="javascript:show(16);">Default 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>
@@ -259,19 +259,30 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <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;htd)</code>
-<div class="block">Called after to modifying a table's properties.</div>
+                              <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
 </td>
 </tr>
 <tr id="i15" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                              <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;oldDescriptor,
+                              <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block">Called after to modifying a table's properties.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;c,
                               <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfoA,
                               <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfoB)</code>
 <div class="block">Called after the region is split.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
@@ -279,14 +290,14 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
  table.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                    <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
 <div class="block">Called after the createNamespace operation has been requested.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
@@ -294,7 +305,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after the createTable operation has been requested.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers,
@@ -302,89 +313,89 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after decommission region servers.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>
 <div class="block">Called after the deleteNamespace operation has been requested.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                   <a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Called after the delete snapshot operation has been requested.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the deleteTable operation has been requested.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called after disable a replication peer</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the disableTable operation has been requested.</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called after enable a replication peer</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the enableTable operation has been requested.</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;status)</code>
 <div class="block">Called after get cluster status.</div>
 </td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called after a getLocks request has been processed.</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                           <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
 <div class="block">Called after a getNamespaceDescriptor request has been processed.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetProcedures</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called after a getProcedures request has been processed.</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called after get the configured ReplicationPeerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableNamesList,
@@ -393,7 +404,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after a getTableDescriptors request has been processed.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;descriptors,
@@ -401,47 +412,47 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after a getTableNames request has been processed.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called after list decommissioned region servers.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;descriptors)</code>
 <div class="block">Called after a listNamespaceDescriptors request has been processed.</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex)</code>
 <div class="block">Called after list replication peers.</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Called after listSnapshots request has been processed.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called after heartbeat to a lock.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;c,
                 <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)</code>
 <div class="block">called after merge regions request.</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
@@ -449,22 +460,43 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">This will be called after META step as part of regions merge transaction.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
-                   <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
+                   <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</td>
+</tr>
+<tr id="i43" class="rowColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                   <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;oldNsDescriptor,
+                   <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor)</code>
 <div class="block">Called after the modifyNamespace operation has been requested.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <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;htd)</code>
+               <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</td>
+</tr>
+<tr id="i45" class="rowColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+               <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;oldDescriptor,
+               <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
 <div class="block">Called after the modifyTable operation has been requested.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
         <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
@@ -473,7 +505,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after the region move has been requested.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
@@ -481,7 +513,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after servers are moved to target region server group</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
@@ -490,7 +522,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after servers are moved to target region server group</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
@@ -498,7 +530,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after servers are moved to target region server group</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
@@ -506,35 +538,35 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after recommission region server.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
 <div class="block">Called after the region has been marked offline.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called after remove a replication peer</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Called after a region server group is removed</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers)</code>
 <div class="block">Called after servers are removed from rsgroup</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">postRequestLock</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
@@ -544,7 +576,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after new LockProcedure is queued.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                    <a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot,
@@ -552,20 +584,20 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after a snapshot restore operation has been requested.</div>
 </td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)</code>
 <div class="block">This will be called after the roll back of the regions merge.</div>
 </td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">This will be called after the roll back of the split region is completed</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
@@ -573,7 +605,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after the quota for the namespace is stored.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                           boolean&nbsp;newValue,
@@ -581,7 +613,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after setting split / merge switch</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -589,7 +621,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after the quota for the table is stored.</div>
 </td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
@@ -597,7 +629,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after the quota for the user is stored.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
@@ -606,7 +638,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after the quota for the user on the specified namespace is stored.</div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
@@ -615,7 +647,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after the quota for the user on the specified table is stored.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
             <a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot,
@@ -623,28 +655,28 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after the snapshot operation has been requested.</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called immediately after an active master instance has completed
  initialization.</div>
 </td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the table memstore is flushed to disk.</div>
 </td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the truncateTable operation has been requested.</div>
 </td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
             <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
@@ -652,7 +684,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after the region unassignment has been requested.</div>
 </td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
@@ -660,14 +692,14 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called after update peerConfig for the specified peer</div>
 </td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-long-">preAbortProcedure</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  long&nbsp;procId)</code>
 <div class="block">Called before a abortProcedure request has been processed.</div>
 </td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId,
@@ -675,48 +707,48 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called before add a replication peer</div>
 </td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Called before a new region server group is added</div>
 </td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
          <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
 <div class="block">Called prior to assigning a specific region.</div>
 </td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called prior to requesting rebalancing of the cluster regions, though after
  the initial checks for regions in transition and the balance switch flag.</div>
 </td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;groupName)</code>
 <div class="block">Called before a region server group is removed</div>
 </td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 boolean&nbsp;newValue)</code>
 <div class="block">Called prior to modifying the flag used to enable/disable region balancing.</div>
 </td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called before clear dead region servers.</div>
 </td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot,
@@ -724,7 +756,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called before a snapshot is cloned.</div>
 </td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                   <a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
@@ -732,7 +764,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
  <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master"><code>HMaster</code></a>.</div>
 </td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
@@ -741,7 +773,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
  <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master"><code>HMaster</code></a>.</div>
 </td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                     <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
@@ -750,7 +782,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
  <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master"><code>HMaster</code></a>.</div>
 </td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">preDecommissionRegionServers</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers,
@@ -758,7 +790,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <div class="block">Called before decommission region servers.</div>
 </td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>
@@ -766,14 +798,14 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
  namespace</div>
 </td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preDeleteSnapshot</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Called before a snapshot is deleted.</div>
 </td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
@@ -781,7 +813,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
  table.</div>
 </td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                     <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
@@ -789,81 +821,81 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
  table.</div>
 </td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called before disable a replication peer</div>
 </td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called prior to disabling a table.</div>
 </td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="../../../../../org/apache/hadoop/hbas

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
index a97dfdc..2b1b6c6 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
@@ -2370,1287 +2370,1292 @@
 <span class="sourceLineNo">2362</span>  }<a name="line.2362"></a>
 <span class="sourceLineNo">2363</span><a name="line.2363"></a>
 <span class="sourceLineNo">2364</span>  @Override<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>  public long modifyTable(final TableName tableName, final TableDescriptor descriptor,<a name="line.2365"></a>
+<span class="sourceLineNo">2365</span>  public long modifyTable(final TableName tableName, final TableDescriptor newDescriptor,<a name="line.2365"></a>
 <span class="sourceLineNo">2366</span>      final long nonceGroup, final long nonce) throws IOException {<a name="line.2366"></a>
 <span class="sourceLineNo">2367</span>    checkInitialized();<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>    sanityCheckTableDescriptor(descriptor);<a name="line.2368"></a>
+<span class="sourceLineNo">2368</span>    sanityCheckTableDescriptor(newDescriptor);<a name="line.2368"></a>
 <span class="sourceLineNo">2369</span><a name="line.2369"></a>
 <span class="sourceLineNo">2370</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2370"></a>
 <span class="sourceLineNo">2371</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2371"></a>
 <span class="sourceLineNo">2372</span>      @Override<a name="line.2372"></a>
 <span class="sourceLineNo">2373</span>      protected void run() throws IOException {<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>        getMaster().getMasterCoprocessorHost().preModifyTable(tableName, descriptor);<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span><a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>        LOG.info(getClientIdAuditPrefix() + " modify " + tableName);<a name="line.2376"></a>
+<span class="sourceLineNo">2374</span>        TableDescriptor oldDescriptor = getMaster().getTableDescriptors().get(tableName);<a name="line.2374"></a>
+<span class="sourceLineNo">2375</span>        getMaster().getMasterCoprocessorHost()<a name="line.2375"></a>
+<span class="sourceLineNo">2376</span>          .preModifyTable(tableName, oldDescriptor, newDescriptor);<a name="line.2376"></a>
 <span class="sourceLineNo">2377</span><a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>        // Execute the operation synchronously - wait for the operation completes before continuing.<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>        //<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>        submitProcedure(new ModifyTableProcedure(procedureExecutor.getEnvironment(),<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>            descriptor, latch));<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>        latch.await();<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span><a name="line.2386"></a>
-<span class="sourceLineNo">2387</span>        getMaster().getMasterCoprocessorHost().postModifyTable(tableName, descriptor);<a name="line.2387"></a>
-<span class="sourceLineNo">2388</span>      }<a name="line.2388"></a>
-<span class="sourceLineNo">2389</span><a name="line.2389"></a>
-<span class="sourceLineNo">2390</span>      @Override<a name="line.2390"></a>
-<span class="sourceLineNo">2391</span>      protected String getDescription() {<a name="line.2391"></a>
-<span class="sourceLineNo">2392</span>        return "ModifyTableProcedure";<a name="line.2392"></a>
-<span class="sourceLineNo">2393</span>      }<a name="line.2393"></a>
-<span class="sourceLineNo">2394</span>    });<a name="line.2394"></a>
-<span class="sourceLineNo">2395</span>  }<a name="line.2395"></a>
-<span class="sourceLineNo">2396</span><a name="line.2396"></a>
-<span class="sourceLineNo">2397</span>  public long restoreSnapshot(final SnapshotDescription snapshotDesc,<a name="line.2397"></a>
-<span class="sourceLineNo">2398</span>      final long nonceGroup, final long nonce, final boolean restoreAcl) throws IOException {<a name="line.2398"></a>
-<span class="sourceLineNo">2399</span>    checkInitialized();<a name="line.2399"></a>
-<span class="sourceLineNo">2400</span>    getSnapshotManager().checkSnapshotSupport();<a name="line.2400"></a>
-<span class="sourceLineNo">2401</span><a name="line.2401"></a>
-<span class="sourceLineNo">2402</span>    // Ensure namespace exists. Will throw exception if non-known NS.<a name="line.2402"></a>
-<span class="sourceLineNo">2403</span>    final TableName dstTable = TableName.valueOf(snapshotDesc.getTable());<a name="line.2403"></a>
-<span class="sourceLineNo">2404</span>    getClusterSchema().getNamespace(dstTable.getNamespaceAsString());<a name="line.2404"></a>
-<span class="sourceLineNo">2405</span><a name="line.2405"></a>
-<span class="sourceLineNo">2406</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2406"></a>
-<span class="sourceLineNo">2407</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2407"></a>
-<span class="sourceLineNo">2408</span>      @Override<a name="line.2408"></a>
-<span class="sourceLineNo">2409</span>      protected void run() throws IOException {<a name="line.2409"></a>
-<span class="sourceLineNo">2410</span>          setProcId(<a name="line.2410"></a>
-<span class="sourceLineNo">2411</span>            getSnapshotManager().restoreOrCloneSnapshot(snapshotDesc, getNonceKey(), restoreAcl));<a name="line.2411"></a>
-<span class="sourceLineNo">2412</span>      }<a name="line.2412"></a>
-<span class="sourceLineNo">2413</span><a name="line.2413"></a>
-<span class="sourceLineNo">2414</span>      @Override<a name="line.2414"></a>
-<span class="sourceLineNo">2415</span>      protected String getDescription() {<a name="line.2415"></a>
-<span class="sourceLineNo">2416</span>        return "RestoreSnapshotProcedure";<a name="line.2416"></a>
-<span class="sourceLineNo">2417</span>      }<a name="line.2417"></a>
-<span class="sourceLineNo">2418</span>    });<a name="line.2418"></a>
-<span class="sourceLineNo">2419</span>  }<a name="line.2419"></a>
-<span class="sourceLineNo">2420</span><a name="line.2420"></a>
-<span class="sourceLineNo">2421</span>  private void checkTableExists(final TableName tableName)<a name="line.2421"></a>
-<span class="sourceLineNo">2422</span>      throws IOException, TableNotFoundException {<a name="line.2422"></a>
-<span class="sourceLineNo">2423</span>    if (!MetaTableAccessor.tableExists(getConnection(), tableName)) {<a name="line.2423"></a>
-<span class="sourceLineNo">2424</span>      throw new TableNotFoundException(tableName);<a name="line.2424"></a>
-<span class="sourceLineNo">2425</span>    }<a name="line.2425"></a>
-<span class="sourceLineNo">2426</span>  }<a name="line.2426"></a>
-<span class="sourceLineNo">2427</span><a name="line.2427"></a>
-<span class="sourceLineNo">2428</span>  @Override<a name="line.2428"></a>
-<span class="sourceLineNo">2429</span>  public void checkTableModifiable(final TableName tableName)<a name="line.2429"></a>
-<span class="sourceLineNo">2430</span>      throws IOException, TableNotFoundException, TableNotDisabledException {<a name="line.2430"></a>
-<span class="sourceLineNo">2431</span>    if (isCatalogTable(tableName)) {<a name="line.2431"></a>
-<span class="sourceLineNo">2432</span>      throw new IOException("Can't modify catalog tables");<a name="line.2432"></a>
-<span class="sourceLineNo">2433</span>    }<a name="line.2433"></a>
-<span class="sourceLineNo">2434</span>    checkTableExists(tableName);<a name="line.2434"></a>
-<span class="sourceLineNo">2435</span>    TableState ts = getTableStateManager().getTableState(tableName);<a name="line.2435"></a>
-<span class="sourceLineNo">2436</span>    if (!ts.isDisabled()) {<a name="line.2436"></a>
-<span class="sourceLineNo">2437</span>      throw new TableNotDisabledException("Not DISABLED; " + ts);<a name="line.2437"></a>
-<span class="sourceLineNo">2438</span>    }<a name="line.2438"></a>
-<span class="sourceLineNo">2439</span>  }<a name="line.2439"></a>
-<span class="sourceLineNo">2440</span><a name="line.2440"></a>
-<span class="sourceLineNo">2441</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor() throws InterruptedIOException {<a name="line.2441"></a>
-<span class="sourceLineNo">2442</span>    return getClusterMetricsWithoutCoprocessor(EnumSet.allOf(Option.class));<a name="line.2442"></a>
-<span class="sourceLineNo">2443</span>  }<a name="line.2443"></a>
-<span class="sourceLineNo">2444</span><a name="line.2444"></a>
-<span class="sourceLineNo">2445</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor(EnumSet&lt;Option&gt; options)<a name="line.2445"></a>
-<span class="sourceLineNo">2446</span>      throws InterruptedIOException {<a name="line.2446"></a>
-<span class="sourceLineNo">2447</span>    ClusterMetricsBuilder builder = ClusterMetricsBuilder.newBuilder();<a name="line.2447"></a>
-<span class="sourceLineNo">2448</span>    // given that hbase1 can't submit the request with Option,<a name="line.2448"></a>
-<span class="sourceLineNo">2449</span>    // we return all information to client if the list of Option is empty.<a name="line.2449"></a>
-<span class="sourceLineNo">2450</span>    if (options.isEmpty()) {<a name="line.2450"></a>
-<span class="sourceLineNo">2451</span>      options = EnumSet.allOf(Option.class);<a name="line.2451"></a>
-<span class="sourceLineNo">2452</span>    }<a name="line.2452"></a>
-<span class="sourceLineNo">2453</span><a name="line.2453"></a>
-<span class="sourceLineNo">2454</span>    for (Option opt : options) {<a name="line.2454"></a>
-<span class="sourceLineNo">2455</span>      switch (opt) {<a name="line.2455"></a>
-<span class="sourceLineNo">2456</span>        case HBASE_VERSION: builder.setHBaseVersion(VersionInfo.getVersion()); break;<a name="line.2456"></a>
-<span class="sourceLineNo">2457</span>        case CLUSTER_ID: builder.setClusterId(getClusterId()); break;<a name="line.2457"></a>
-<span class="sourceLineNo">2458</span>        case MASTER: builder.setMasterName(getServerName()); break;<a name="line.2458"></a>
-<span class="sourceLineNo">2459</span>        case BACKUP_MASTERS: builder.setBackerMasterNames(getBackupMasters()); break;<a name="line.2459"></a>
-<span class="sourceLineNo">2460</span>        case LIVE_SERVERS: {<a name="line.2460"></a>
-<span class="sourceLineNo">2461</span>          if (serverManager != null) {<a name="line.2461"></a>
-<span class="sourceLineNo">2462</span>            builder.setLiveServerMetrics(serverManager.getOnlineServers().entrySet().stream()<a name="line.2462"></a>
-<span class="sourceLineNo">2463</span>              .collect(Collectors.toMap(e -&gt; e.getKey(), e -&gt; e.getValue())));<a name="line.2463"></a>
-<span class="sourceLineNo">2464</span>          }<a name="line.2464"></a>
-<span class="sourceLineNo">2465</span>          break;<a name="line.2465"></a>
-<span class="sourceLineNo">2466</span>        }<a name="line.2466"></a>
-<span class="sourceLineNo">2467</span>        case DEAD_SERVERS: {<a name="line.2467"></a>
-<span class="sourceLineNo">2468</span>          if (serverManager != null) {<a name="line.2468"></a>
-<span class="sourceLineNo">2469</span>            builder.setDeadServerNames(new ArrayList&lt;&gt;(<a name="line.2469"></a>
-<span class="sourceLineNo">2470</span>              serverManager.getDeadServers().copyServerNames()));<a name="line.2470"></a>
-<span class="sourceLineNo">2471</span>          }<a name="line.2471"></a>
-<span class="sourceLineNo">2472</span>          break;<a name="line.2472"></a>
-<span class="sourceLineNo">2473</span>        }<a name="line.2473"></a>
-<span class="sourceLineNo">2474</span>        case MASTER_COPROCESSORS: {<a name="line.2474"></a>
-<span class="sourceLineNo">2475</span>          if (cpHost != null) {<a name="line.2475"></a>
-<span class="sourceLineNo">2476</span>            builder.setMasterCoprocessorNames(Arrays.asList(getMasterCoprocessors()));<a name="line.2476"></a>
-<span class="sourceLineNo">2477</span>          }<a name="line.2477"></a>
-<span class="sourceLineNo">2478</span>          break;<a name="line.2478"></a>
-<span class="sourceLineNo">2479</span>        }<a name="line.2479"></a>
-<span class="sourceLineNo">2480</span>        case REGIONS_IN_TRANSITION: {<a name="line.2480"></a>
-<span class="sourceLineNo">2481</span>          if (assignmentManager != null) {<a name="line.2481"></a>
-<span class="sourceLineNo">2482</span>            builder.setRegionsInTransition(assignmentManager.getRegionStates()<a name="line.2482"></a>
-<span class="sourceLineNo">2483</span>                .getRegionsStateInTransition());<a name="line.2483"></a>
-<span class="sourceLineNo">2484</span>          }<a name="line.2484"></a>
-<span class="sourceLineNo">2485</span>          break;<a name="line.2485"></a>
-<span class="sourceLineNo">2486</span>        }<a name="line.2486"></a>
-<span class="sourceLineNo">2487</span>        case BALANCER_ON: {<a name="line.2487"></a>
-<span class="sourceLineNo">2488</span>          if (loadBalancerTracker != null) {<a name="line.2488"></a>
-<span class="sourceLineNo">2489</span>            builder.setBalancerOn(loadBalancerTracker.isBalancerOn());<a name="line.2489"></a>
-<span class="sourceLineNo">2490</span>          }<a name="line.2490"></a>
-<span class="sourceLineNo">2491</span>          break;<a name="line.2491"></a>
-<span class="sourceLineNo">2492</span>        }<a name="line.2492"></a>
-<span class="sourceLineNo">2493</span>        case MASTER_INFO_PORT: {<a name="line.2493"></a>
-<span class="sourceLineNo">2494</span>          if (infoServer != null) {<a name="line.2494"></a>
-<span class="sourceLineNo">2495</span>            builder.setMasterInfoPort(infoServer.getPort());<a name="line.2495"></a>
-<span class="sourceLineNo">2496</span>          }<a name="line.2496"></a>
-<span class="sourceLineNo">2497</span>          break;<a name="line.2497"></a>
-<span class="sourceLineNo">2498</span>        }<a name="line.2498"></a>
-<span class="sourceLineNo">2499</span>      }<a name="line.2499"></a>
-<span class="sourceLineNo">2500</span>    }<a name="line.2500"></a>
-<span class="sourceLineNo">2501</span>    return builder.build();<a name="line.2501"></a>
-<span class="sourceLineNo">2502</span>  }<a name="line.2502"></a>
-<span class="sourceLineNo">2503</span><a name="line.2503"></a>
-<span class="sourceLineNo">2504</span>  /**<a name="line.2504"></a>
-<span class="sourceLineNo">2505</span>   * @return cluster status<a name="line.2505"></a>
-<span class="sourceLineNo">2506</span>   */<a name="line.2506"></a>
-<span class="sourceLineNo">2507</span>  public ClusterMetrics getClusterMetrics() throws IOException {<a name="line.2507"></a>
-<span class="sourceLineNo">2508</span>    return getClusterMetrics(EnumSet.allOf(Option.class));<a name="line.2508"></a>
-<span class="sourceLineNo">2509</span>  }<a name="line.2509"></a>
-<span class="sourceLineNo">2510</span><a name="line.2510"></a>
-<span class="sourceLineNo">2511</span>  public ClusterMetrics getClusterMetrics(EnumSet&lt;Option&gt; options) throws IOException {<a name="line.2511"></a>
-<span class="sourceLineNo">2512</span>    if (cpHost != null) {<a name="line.2512"></a>
-<span class="sourceLineNo">2513</span>      cpHost.preGetClusterMetrics();<a name="line.2513"></a>
-<span class="sourceLineNo">2514</span>    }<a name="line.2514"></a>
-<span class="sourceLineNo">2515</span>    ClusterMetrics status = getClusterMetricsWithoutCoprocessor(options);<a name="line.2515"></a>
-<span class="sourceLineNo">2516</span>    if (cpHost != null) {<a name="line.2516"></a>
-<span class="sourceLineNo">2517</span>      cpHost.postGetClusterMetrics(status);<a name="line.2517"></a>
-<span class="sourceLineNo">2518</span>    }<a name="line.2518"></a>
-<span class="sourceLineNo">2519</span>    return status;<a name="line.2519"></a>
-<span class="sourceLineNo">2520</span>  }<a name="line.2520"></a>
-<span class="sourceLineNo">2521</span><a name="line.2521"></a>
-<span class="sourceLineNo">2522</span>  private List&lt;ServerName&gt; getBackupMasters() throws InterruptedIOException {<a name="line.2522"></a>
-<span class="sourceLineNo">2523</span>    // Build Set of backup masters from ZK nodes<a name="line.2523"></a>
-<span class="sourceLineNo">2524</span>    List&lt;String&gt; backupMasterStrings;<a name="line.2524"></a>
-<span class="sourceLineNo">2525</span>    try {<a name="line.2525"></a>
-<span class="sourceLineNo">2526</span>      backupMasterStrings = ZKUtil.listChildrenNoWatch(this.zooKeeper,<a name="line.2526"></a>
-<span class="sourceLineNo">2527</span>        this.zooKeeper.znodePaths.backupMasterAddressesZNode);<a name="line.2527"></a>
-<span class="sourceLineNo">2528</span>    } catch (KeeperException e) {<a name="line.2528"></a>
-<span class="sourceLineNo">2529</span>      LOG.warn(this.zooKeeper.prefix("Unable to list backup servers"), e);<a name="line.2529"></a>
-<span class="sourceLineNo">2530</span>      backupMasterStrings = null;<a name="line.2530"></a>
-<span class="sourceLineNo">2531</span>    }<a name="line.2531"></a>
-<span class="sourceLineNo">2532</span><a name="line.2532"></a>
-<span class="sourceLineNo">2533</span>    List&lt;ServerName&gt; backupMasters = Collections.emptyList();<a name="line.2533"></a>
-<span class="sourceLineNo">2534</span>    if (backupMasterStrings != null &amp;&amp; !backupMasterStrings.isEmpty()) {<a name="line.2534"></a>
-<span class="sourceLineNo">2535</span>      backupMasters = new ArrayList&lt;&gt;(backupMasterStrings.size());<a name="line.2535"></a>
-<span class="sourceLineNo">2536</span>      for (String s: backupMasterStrings) {<a name="line.2536"></a>
-<span class="sourceLineNo">2537</span>        try {<a name="line.2537"></a>
-<span class="sourceLineNo">2538</span>          byte [] bytes;<a name="line.2538"></a>
-<span class="sourceLineNo">2539</span>          try {<a name="line.2539"></a>
-<span class="sourceLineNo">2540</span>            bytes = ZKUtil.getData(this.zooKeeper, ZNodePaths.joinZNode(<a name="line.2540"></a>
-<span class="sourceLineNo">2541</span>                this.zooKeeper.znodePaths.backupMasterAddressesZNode, s));<a name="line.2541"></a>
-<span class="sourceLineNo">2542</span>          } catch (InterruptedException e) {<a name="line.2542"></a>
-<span class="sourceLineNo">2543</span>            throw new InterruptedIOException();<a name="line.2543"></a>
-<span class="sourceLineNo">2544</span>          }<a name="line.2544"></a>
-<span class="sourceLineNo">2545</span>          if (bytes != null) {<a name="line.2545"></a>
-<span class="sourceLineNo">2546</span>            ServerName sn;<a name="line.2546"></a>
-<span class="sourceLineNo">2547</span>            try {<a name="line.2547"></a>
-<span class="sourceLineNo">2548</span>              sn = ProtobufUtil.parseServerNameFrom(bytes);<a name="line.2548"></a>
-<span class="sourceLineNo">2549</span>            } catch (DeserializationException e) {<a name="line.2549"></a>
-<span class="sourceLineNo">2550</span>              LOG.warn("Failed parse, skipping registering backup server", e);<a name="line.2550"></a>
-<span class="sourceLineNo">2551</span>              continue;<a name="line.2551"></a>
-<span class="sourceLineNo">2552</span>            }<a name="line.2552"></a>
-<span class="sourceLineNo">2553</span>            backupMasters.add(sn);<a name="line.2553"></a>
-<span class="sourceLineNo">2554</span>          }<a name="line.2554"></a>
-<span class="sourceLineNo">2555</span>        } catch (KeeperException e) {<a name="line.2555"></a>
-<span class="sourceLineNo">2556</span>          LOG.warn(this.zooKeeper.prefix("Unable to get information about " +<a name="line.2556"></a>
-<span class="sourceLineNo">2557</span>                   "backup servers"), e);<a name="line.2557"></a>
-<span class="sourceLineNo">2558</span>        }<a name="line.2558"></a>
-<span class="sourceLineNo">2559</span>      }<a name="line.2559"></a>
-<span class="sourceLineNo">2560</span>      Collections.sort(backupMasters, new Comparator&lt;ServerName&gt;() {<a name="line.2560"></a>
-<span class="sourceLineNo">2561</span>        @Override<a name="line.2561"></a>
-<span class="sourceLineNo">2562</span>        public int compare(ServerName s1, ServerName s2) {<a name="line.2562"></a>
-<span class="sourceLineNo">2563</span>          return s1.getServerName().compareTo(s2.getServerName());<a name="line.2563"></a>
-<span class="sourceLineNo">2564</span>        }});<a name="line.2564"></a>
-<span class="sourceLineNo">2565</span>    }<a name="line.2565"></a>
-<span class="sourceLineNo">2566</span>    return backupMasters;<a name="line.2566"></a>
-<span class="sourceLineNo">2567</span>  }<a name="line.2567"></a>
-<span class="sourceLineNo">2568</span><a name="line.2568"></a>
-<span class="sourceLineNo">2569</span>  /**<a name="line.2569"></a>
-<span class="sourceLineNo">2570</span>   * The set of loaded coprocessors is stored in a static set. Since it's<a name="line.2570"></a>
-<span class="sourceLineNo">2571</span>   * statically allocated, it does not require that HMaster's cpHost be<a name="line.2571"></a>
-<span class="sourceLineNo">2572</span>   * initialized prior to accessing it.<a name="line.2572"></a>
-<span class="sourceLineNo">2573</span>   * @return a String representation of the set of names of the loaded coprocessors.<a name="line.2573"></a>
-<span class="sourceLineNo">2574</span>   */<a name="line.2574"></a>
-<span class="sourceLineNo">2575</span>  public static String getLoadedCoprocessors() {<a name="line.2575"></a>
-<span class="sourceLineNo">2576</span>    return CoprocessorHost.getLoadedCoprocessors().toString();<a name="line.2576"></a>
-<span class="sourceLineNo">2577</span>  }<a name="line.2577"></a>
-<span class="sourceLineNo">2578</span><a name="line.2578"></a>
-<span class="sourceLineNo">2579</span>  /**<a name="line.2579"></a>
-<span class="sourceLineNo">2580</span>   * @return timestamp in millis when HMaster was started.<a name="line.2580"></a>
-<span class="sourceLineNo">2581</span>   */<a name="line.2581"></a>
-<span class="sourceLineNo">2582</span>  public long getMasterStartTime() {<a name="line.2582"></a>
-<span class="sourceLineNo">2583</span>    return startcode;<a name="line.2583"></a>
-<span class="sourceLineNo">2584</span>  }<a name="line.2584"></a>
-<span class="sourceLineNo">2585</span><a name="line.2585"></a>
-<span class="sourceLineNo">2586</span>  /**<a name="line.2586"></a>
-<span class="sourceLineNo">2587</span>   * @return timestamp in millis when HMaster became the active master.<a name="line.2587"></a>
-<span class="sourceLineNo">2588</span>   */<a name="line.2588"></a>
-<span class="sourceLineNo">2589</span>  public long getMasterActiveTime() {<a name="line.2589"></a>
-<span class="sourceLineNo">2590</span>    return masterActiveTime;<a name="line.2590"></a>
-<span class="sourceLineNo">2591</span>  }<a name="line.2591"></a>
-<span class="sourceLineNo">2592</span><a name="line.2592"></a>
-<span class="sourceLineNo">2593</span>  /**<a name="line.2593"></a>
-<span class="sourceLineNo">2594</span>   * @return timestamp in millis when HMaster finished becoming the active master<a name="line.2594"></a>
-<span class="sourceLineNo">2595</span>   */<a name="line.2595"></a>
-<span class="sourceLineNo">2596</span>  public long getMasterFinishedInitializationTime() {<a name="line.2596"></a>
-<span class="sourceLineNo">2597</span>    return masterFinishedInitializationTime;<a name="line.2597"></a>
-<span class="sourceLineNo">2598</span>  }<a name="line.2598"></a>
-<span class="sourceLineNo">2599</span><a name="line.2599"></a>
-<span class="sourceLineNo">2600</span>  public int getNumWALFiles() {<a name="line.2600"></a>
-<span class="sourceLineNo">2601</span>    return procedureStore != null ? procedureStore.getActiveLogs().size() : 0;<a name="line.2601"></a>
-<span class="sourceLineNo">2602</span>  }<a name="line.2602"></a>
-<span class="sourceLineNo">2603</span><a name="line.2603"></a>
-<span class="sourceLineNo">2604</span>  public WALProcedureStore getWalProcedureStore() {<a name="line.2604"></a>
-<span class="sourceLineNo">2605</span>    return procedureStore;<a name="line.2605"></a>
-<span class="sourceLineNo">2606</span>  }<a name="line.2606"></a>
-<span class="sourceLineNo">2607</span><a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>  public int getRegionServerInfoPort(final ServerName sn) {<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2609"></a>
-<span class="sourceLineNo">2610</span>    if (info == null || info.getInfoPort() == 0) {<a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>      return conf.getInt(HConstants.REGIONSERVER_INFO_PORT,<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>        HConstants.DEFAULT_REGIONSERVER_INFOPORT);<a name="line.2612"></a>
-<span class="sourceLineNo">2613</span>    }<a name="line.2613"></a>
-<span class="sourceLineNo">2614</span>    return info.getInfoPort();<a name="line.2614"></a>
-<span class="sourceLineNo">2615</span>  }<a name="line.2615"></a>
-<span class="sourceLineNo">2616</span><a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>  @Override<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>  public String getRegionServerVersion(final ServerName sn) {<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>    if (info != null &amp;&amp; info.hasVersionInfo()) {<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span>      return info.getVersionInfo().getVersion();<a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>    }<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>    return "0.0.0"; //Lowest version to prevent move system region to unknown version RS.<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span>  }<a name="line.2624"></a>
-<span class="sourceLineNo">2625</span><a name="line.2625"></a>
-<span class="sourceLineNo">2626</span>  @Override<a name="line.2626"></a>
-<span class="sourceLineNo">2627</span>  public void checkIfShouldMoveSystemRegionAsync() {<a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>    assignmentManager.checkIfShouldMoveSystemRegionAsync();<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span>  }<a name="line.2629"></a>
-<span class="sourceLineNo">2630</span><a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>  /**<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span>   * @return array of coprocessor SimpleNames.<a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>   */<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span>  public String[] getMasterCoprocessors() {<a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>    Set&lt;String&gt; masterCoprocessors = getMasterCoprocessorHost().getCoprocessors();<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>    return masterCoprocessors.toArray(new String[masterCoprocessors.size()]);<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>  }<a name="line.2637"></a>
-<span class="sourceLineNo">2638</span><a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>  @Override<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span>  public void abort(String reason, Throwable cause) {<a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>    if (isAborted() || isStopped()) {<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>      return;<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>    }<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span>    if (cpHost != null) {<a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>      // HBASE-4014: dump a list of loaded coprocessors.<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>      LOG.error(HBaseMarkers.FATAL, "Master server abort: loaded coprocessors are: " +<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>          getLoadedCoprocessors());<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>    }<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>    String msg = "***** ABORTING master " + this + ": " + reason + " *****";<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span>    if (cause != null) {<a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>      LOG.error(HBaseMarkers.FATAL, msg, cause);<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span>    } else {<a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>      LOG.error(HBaseMarkers.FATAL, msg);<a name="line.2653"></a>
-<span class="sourceLineNo">2654</span>    }<a name="line.2654"></a>
-<span class="sourceLineNo">2655</span><a name="line.2655"></a>
-<span class="sourceLineNo">2656</span>    try {<a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>      stopMaster();<a name="line.2657"></a>
-<span class="sourceLineNo">2658</span>    } catch (IOException e) {<a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>      LOG.error("Exception occurred while stopping master", e);<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span>    }<a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>  }<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span><a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>  @Override<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>  public ZKWatcher getZooKeeper() {<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>    return zooKeeper;<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>  }<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span><a name="line.2667"></a>
-<span class="sourceLineNo">2668</span>  @Override<a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>    return cpHost;<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>  }<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span><a name="line.2672"></a>
-<span class="sourceLineNo">2673</span>  @Override<a name="line.2673"></a>
-<span class="sourceLineNo">2674</span>  public MasterQuotaManager getMasterQuotaManager() {<a name="line.2674"></a>
-<span class="sourceLineNo">2675</span>    return quotaManager;<a name="line.2675"></a>
-<span class="sourceLineNo">2676</span>  }<a name="line.2676"></a>
-<span class="sourceLineNo">2677</span><a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>  @Override<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>  public ProcedureExecutor&lt;MasterProcedureEnv&gt; getMasterProcedureExecutor() {<a name="line.2679"></a>
-<span class="sourceLineNo">2680</span>    return procedureExecutor;<a name="line.2680"></a>
-<span class="sourceLineNo">2681</span>  }<a name="line.2681"></a>
-<span class="sourceLineNo">2682</span><a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>  @Override<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span>  public ServerName getServerName() {<a name="line.2684"></a>
-<span class="sourceLineNo">2685</span>    return this.serverName;<a name="line.2685"></a>
-<span class="sourceLineNo">2686</span>  }<a name="line.2686"></a>
-<span class="sourceLineNo">2687</span><a name="line.2687"></a>
-<span class="sourceLineNo">2688</span>  @Override<a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>  public AssignmentManager getAssignmentManager() {<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>    return this.assignmentManager;<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>  }<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span><a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>  @Override<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>  public CatalogJanitor getCatalogJanitor() {<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span>    return this.catalogJanitorChore;<a name="line.2695"></a>
-<span class="sourceLineNo">2696</span>  }<a name="line.2696"></a>
-<span class="sourceLineNo">2697</span><a name="line.2697"></a>
-<span class="sourceLineNo">2698</span>  public MemoryBoundedLogMessageBuffer getRegionServerFatalLogBuffer() {<a name="line.2698"></a>
-<span class="sourceLineNo">2699</span>    return rsFatals;<a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>  }<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span><a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>  /**<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>   * Shutdown the cluster.<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span>   * Master runs a coordinated stop of all RegionServers and then itself.<a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>   */<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span>  public void shutdown() throws IOException {<a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>    if (cpHost != null) {<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>      cpHost.preShutdown();<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>    }<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>    // Tell the servermanager cluster shutdown has been called. This makes it so when Master is<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span>    // last running server, it'll stop itself. Next, we broadcast the cluster shutdown by setting<a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>    // the cluster status as down. RegionServers will notice this change in state and will start<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>    // shutting themselves down. When last has exited, Master can go down.<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>    if (this.serverManager != null) {<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span>      this.serverManager.shutdownCluster();<a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>    }<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span>    if (this.clusterStatusTracker != null) {<a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>      try {<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span>        this.clusterStatusTracker.setClusterDown();<a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>      } catch (KeeperException e) {<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>        LOG.error("ZooKeeper exception trying to set cluster as down in ZK", e);<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>      }<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span>    }<a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>    // Stop the procedure executor. Will stop any ongoing assign, unassign, server crash etc.,<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span>    // processing so we can go down.<a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>    if (this.procedureExecutor != null) {<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span>      this.procedureExecutor.stop();<a name="line.2727"></a>
-<span class="sourceLineNo">2728</span>    }<a name="line.2728"></a>
-<span class="sourceLineNo">2729</span>    // Shutdown our cluster connection. This will kill any hosted RPCs that might be going on;<a name="line.2729"></a>
-<span class="sourceLineNo">2730</span>    // this is what we want especially if the Master is in startup phase doing call outs to<a name="line.2730"></a>
-<span class="sourceLineNo">2731</span>    // hbase:meta, etc. when cluster is down. Without ths connection close, we'd have to wait on<a name="line.2731"></a>
-<span class="sourceLineNo">2732</span>    // the rpc to timeout.<a name="line.2732"></a>
-<span class="sourceLineNo">2733</span>    if (this.clusterConnection != null) {<a name="line.2733"></a>
-<span class="sourceLineNo">2734</span>      this.clusterConnection.close();<a name="line.2734"></a>
-<span class="sourceLineNo">2735</span>    }<a name="line.2735"></a>
-<span class="sourceLineNo">2736</span>  }<a name="line.2736"></a>
-<span class="sourceLineNo">2737</span><a name="line.2737"></a>
-<span class="sourceLineNo">2738</span>  public void stopMaster() throws IOException {<a name="line.2738"></a>
-<span class="sourceLineNo">2739</span>    if (cpHost != null) {<a name="line.2739"></a>
-<span class="sourceLineNo">2740</span>      cpHost.preStopMaster();<a name="line.2740"></a>
-<span class="sourceLineNo">2741</span>    }<a name="line.2741"></a>
-<span class="sourceLineNo">2742</span>    stop("Stopped by " + Thread.currentThread().getName());<a name="line.2742"></a>
-<span class="sourceLineNo">2743</span>  }<a name="line.2743"></a>
-<span class="sourceLineNo">2744</span><a name="line.2744"></a>
-<span class="sourceLineNo">2745</span>  @Override<a name="line.2745"></a>
-<span class="sourceLineNo">2746</span>  public void stop(String msg) {<a name="line.2746"></a>
-<span class="sourceLineNo">2747</span>    if (!isStopped()) {<a name="line.2747"></a>
-<span class="sourceLineNo">2748</span>      super.stop(msg);<a name="line.2748"></a>
-<span class="sourceLineNo">2749</span>      if (this.activeMasterManager != null) {<a name="line.2749"></a>
-<span class="sourceLineNo">2750</span>        this.activeMasterManager.stop();<a name="line.2750"></a>
-<span class="sourceLineNo">2751</span>      }<a name="line.2751"></a>
-<span class="sourceLineNo">2752</span>    }<a name="line.2752"></a>
-<span class="sourceLineNo">2753</span>  }<a name="line.2753"></a>
-<span class="sourceLineNo">2754</span><a name="line.2754"></a>
-<span class="sourceLineNo">2755</span>  void checkServiceStarted() throws ServerNotRunningYetException {<a name="line.2755"></a>
-<span class="sourceLineNo">2756</span>    if (!serviceStarted) {<a name="line.2756"></a>
-<span class="sourceLineNo">2757</span>      throw new ServerNotRunningYetException("Server is not running yet");<a name="line.2757"></a>
-<span class="sourceLineNo">2758</span>    }<a name="line.2758"></a>
-<span class="sourceLineNo">2759</span>  }<a name="line.2759"></a>
-<span class="sourceLineNo">2760</span><a name="line.2760"></a>
-<span class="sourceLineNo">2761</span>  public static class MasterStoppedException extends DoNotRetryIOException {<a name="line.2761"></a>
-<span class="sourceLineNo">2762</span>    MasterStoppedException() {<a name="line.2762"></a>
-<span class="sourceLineNo">2763</span>      super();<a name="line.2763"></a>
-<span class="sourceLineNo">2764</span>    }<a name="line.2764"></a>
-<span class="sourceLineNo">2765</span>  }<a name="line.2765"></a>
-<span class="sourceLineNo">2766</span><a name="line.2766"></a>
-<span class="sourceLineNo">2767</span>  void checkInitialized() throws PleaseHoldException, ServerNotRunningYetException,<a name="line.2767"></a>
-<span class="sourceLineNo">2768</span>      MasterNotRunningException, MasterStoppedException {<a name="line.2768"></a>
-<span class="sourceLineNo">2769</span>    checkServiceStarted();<a name="line.2769"></a>
-<span class="sourceLineNo">2770</span>    if (!isInitialized()) {<a name="line.2770"></a>
-<span class="sourceLineNo">2771</span>      throw new PleaseHoldException("Master is initializing");<a name="line.2771"></a>
-<span class="sourceLineNo">2772</span>    }<a name="line.2772"></a>
-<span class="sourceLineNo">2773</span>    if (isStopped()) {<a name="line.2773"></a>
-<span class="sourceLineNo">2774</span>      throw new MasterStoppedException();<a name="line.2774"></a>
+<span class="sourceLineNo">2378</span>        LOG.info(getClientIdAuditPrefix() + " modify " + tableName);<a name="line.2378"></a>
+<span class="sourceLineNo">2379</span><a name="line.2379"></a>
+<span class="sourceLineNo">2380</span>        // Execute the operation synchronously - wait for the operation completes before continuing.<a name="line.2380"></a>
+<span class="sourceLineNo">2381</span>        //<a name="line.2381"></a>
+<span class="sourceLineNo">2382</span>        // We need to wait for the procedure to potentially fail due to "prepare" sanity<a name="line.2382"></a>
+<span class="sourceLineNo">2383</span>        // checks. This will block only the beginning of the procedure. See HBASE-19953.<a name="line.2383"></a>
+<span class="sourceLineNo">2384</span>        ProcedurePrepareLatch latch = ProcedurePrepareLatch.createBlockingLatch();<a name="line.2384"></a>
+<span class="sourceLineNo">2385</span>        submitProcedure(<a name="line.2385"></a>
+<span class="sourceLineNo">2386</span>          new ModifyTableProcedure(procedureExecutor.getEnvironment(), newDescriptor, latch));<a name="line.2386"></a>
+<span class="sourceLineNo">2387</span>        latch.await();<a name="line.2387"></a>
+<span class="sourceLineNo">2388</span><a name="line.2388"></a>
+<span class="sourceLineNo">2389</span>        getMaster().getMasterCoprocessorHost()<a name="line.2389"></a>
+<span class="sourceLineNo">2390</span>          .postModifyTable(tableName, oldDescriptor, newDescriptor);<a name="line.2390"></a>
+<span class="sourceLineNo">2391</span>      }<a name="line.2391"></a>
+<span class="sourceLineNo">2392</span><a name="line.2392"></a>
+<span class="sourceLineNo">2393</span>      @Override<a name="line.2393"></a>
+<span class="sourceLineNo">2394</span>      protected String getDescription() {<a name="line.2394"></a>
+<span class="sourceLineNo">2395</span>        return "ModifyTableProcedure";<a name="line.2395"></a>
+<span class="sourceLineNo">2396</span>      }<a name="line.2396"></a>
+<span class="sourceLineNo">2397</span>    });<a name="line.2397"></a>
+<span class="sourceLineNo">2398</span>  }<a name="line.2398"></a>
+<span class="sourceLineNo">2399</span><a name="line.2399"></a>
+<span class="sourceLineNo">2400</span>  public long restoreSnapshot(final SnapshotDescription snapshotDesc,<a name="line.2400"></a>
+<span class="sourceLineNo">2401</span>      final long nonceGroup, final long nonce, final boolean restoreAcl) throws IOException {<a name="line.2401"></a>
+<span class="sourceLineNo">2402</span>    checkInitialized();<a name="line.2402"></a>
+<span class="sourceLineNo">2403</span>    getSnapshotManager().checkSnapshotSupport();<a name="line.2403"></a>
+<span class="sourceLineNo">2404</span><a name="line.2404"></a>
+<span class="sourceLineNo">2405</span>    // Ensure namespace exists. Will throw exception if non-known NS.<a name="line.2405"></a>
+<span class="sourceLineNo">2406</span>    final TableName dstTable = TableName.valueOf(snapshotDesc.getTable());<a name="line.2406"></a>
+<span class="sourceLineNo">2407</span>    getClusterSchema().getNamespace(dstTable.getNamespaceAsString());<a name="line.2407"></a>
+<span class="sourceLineNo">2408</span><a name="line.2408"></a>
+<span class="sourceLineNo">2409</span>    return MasterProcedureUtil.submitProcedure(<a name="line.2409"></a>
+<span class="sourceLineNo">2410</span>        new MasterProcedureUtil.NonceProcedureRunnable(this, nonceGroup, nonce) {<a name="line.2410"></a>
+<span class="sourceLineNo">2411</span>      @Override<a name="line.2411"></a>
+<span class="sourceLineNo">2412</span>      protected void run() throws IOException {<a name="line.2412"></a>
+<span class="sourceLineNo">2413</span>          setProcId(<a name="line.2413"></a>
+<span class="sourceLineNo">2414</span>            getSnapshotManager().restoreOrCloneSnapshot(snapshotDesc, getNonceKey(), restoreAcl));<a name="line.2414"></a>
+<span class="sourceLineNo">2415</span>      }<a name="line.2415"></a>
+<span class="sourceLineNo">2416</span><a name="line.2416"></a>
+<span class="sourceLineNo">2417</span>      @Override<a name="line.2417"></a>
+<span class="sourceLineNo">2418</span>      protected String getDescription() {<a name="line.2418"></a>
+<span class="sourceLineNo">2419</span>        return "RestoreSnapshotProcedure";<a name="line.2419"></a>
+<span class="sourceLineNo">2420</span>      }<a name="line.2420"></a>
+<span class="sourceLineNo">2421</span>    });<a name="line.2421"></a>
+<span class="sourceLineNo">2422</span>  }<a name="line.2422"></a>
+<span class="sourceLineNo">2423</span><a name="line.2423"></a>
+<span class="sourceLineNo">2424</span>  private void checkTableExists(final TableName tableName)<a name="line.2424"></a>
+<span class="sourceLineNo">2425</span>      throws IOException, TableNotFoundException {<a name="line.2425"></a>
+<span class="sourceLineNo">2426</span>    if (!MetaTableAccessor.tableExists(getConnection(), tableName)) {<a name="line.2426"></a>
+<span class="sourceLineNo">2427</span>      throw new TableNotFoundException(tableName);<a name="line.2427"></a>
+<span class="sourceLineNo">2428</span>    }<a name="line.2428"></a>
+<span class="sourceLineNo">2429</span>  }<a name="line.2429"></a>
+<span class="sourceLineNo">2430</span><a name="line.2430"></a>
+<span class="sourceLineNo">2431</span>  @Override<a name="line.2431"></a>
+<span class="sourceLineNo">2432</span>  public void checkTableModifiable(final TableName tableName)<a name="line.2432"></a>
+<span class="sourceLineNo">2433</span>      throws IOException, TableNotFoundException, TableNotDisabledException {<a name="line.2433"></a>
+<span class="sourceLineNo">2434</span>    if (isCatalogTable(tableName)) {<a name="line.2434"></a>
+<span class="sourceLineNo">2435</span>      throw new IOException("Can't modify catalog tables");<a name="line.2435"></a>
+<span class="sourceLineNo">2436</span>    }<a name="line.2436"></a>
+<span class="sourceLineNo">2437</span>    checkTableExists(tableName);<a name="line.2437"></a>
+<span class="sourceLineNo">2438</span>    TableState ts = getTableStateManager().getTableState(tableName);<a name="line.2438"></a>
+<span class="sourceLineNo">2439</span>    if (!ts.isDisabled()) {<a name="line.2439"></a>
+<span class="sourceLineNo">2440</span>      throw new TableNotDisabledException("Not DISABLED; " + ts);<a name="line.2440"></a>
+<span class="sourceLineNo">2441</span>    }<a name="line.2441"></a>
+<span class="sourceLineNo">2442</span>  }<a name="line.2442"></a>
+<span class="sourceLineNo">2443</span><a name="line.2443"></a>
+<span class="sourceLineNo">2444</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor() throws InterruptedIOException {<a name="line.2444"></a>
+<span class="sourceLineNo">2445</span>    return getClusterMetricsWithoutCoprocessor(EnumSet.allOf(Option.class));<a name="line.2445"></a>
+<span class="sourceLineNo">2446</span>  }<a name="line.2446"></a>
+<span class="sourceLineNo">2447</span><a name="line.2447"></a>
+<span class="sourceLineNo">2448</span>  public ClusterMetrics getClusterMetricsWithoutCoprocessor(EnumSet&lt;Option&gt; options)<a name="line.2448"></a>
+<span class="sourceLineNo">2449</span>      throws InterruptedIOException {<a name="line.2449"></a>
+<span class="sourceLineNo">2450</span>    ClusterMetricsBuilder builder = ClusterMetricsBuilder.newBuilder();<a name="line.2450"></a>
+<span class="sourceLineNo">2451</span>    // given that hbase1 can't submit the request with Option,<a name="line.2451"></a>
+<span class="sourceLineNo">2452</span>    // we return all information to client if the list of Option is empty.<a name="line.2452"></a>
+<span class="sourceLineNo">2453</span>    if (options.isEmpty()) {<a name="line.2453"></a>
+<span class="sourceLineNo">2454</span>      options = EnumSet.allOf(Option.class);<a name="line.2454"></a>
+<span class="sourceLineNo">2455</span>    }<a name="line.2455"></a>
+<span class="sourceLineNo">2456</span><a name="line.2456"></a>
+<span class="sourceLineNo">2457</span>    for (Option opt : options) {<a name="line.2457"></a>
+<span class="sourceLineNo">2458</span>      switch (opt) {<a name="line.2458"></a>
+<span class="sourceLineNo">2459</span>        case HBASE_VERSION: builder.setHBaseVersion(VersionInfo.getVersion()); break;<a name="line.2459"></a>
+<span class="sourceLineNo">2460</span>        case CLUSTER_ID: builder.setClusterId(getClusterId()); break;<a name="line.2460"></a>
+<span class="sourceLineNo">2461</span>        case MASTER: builder.setMasterName(getServerName()); break;<a name="line.2461"></a>
+<span class="sourceLineNo">2462</span>        case BACKUP_MASTERS: builder.setBackerMasterNames(getBackupMasters()); break;<a name="line.2462"></a>
+<span class="sourceLineNo">2463</span>        case LIVE_SERVERS: {<a name="line.2463"></a>
+<span class="sourceLineNo">2464</span>          if (serverManager != null) {<a name="line.2464"></a>
+<span class="sourceLineNo">2465</span>            builder.setLiveServerMetrics(serverManager.getOnlineServers().entrySet().stream()<a name="line.2465"></a>
+<span class="sourceLineNo">2466</span>              .collect(Collectors.toMap(e -&gt; e.getKey(), e -&gt; e.getValue())));<a name="line.2466"></a>
+<span class="sourceLineNo">2467</span>          }<a name="line.2467"></a>
+<span class="sourceLineNo">2468</span>          break;<a name="line.2468"></a>
+<span class="sourceLineNo">2469</span>        }<a name="line.2469"></a>
+<span class="sourceLineNo">2470</span>        case DEAD_SERVERS: {<a name="line.2470"></a>
+<span class="sourceLineNo">2471</span>          if (serverManager != null) {<a name="line.2471"></a>
+<span class="sourceLineNo">2472</span>            builder.setDeadServerNames(new ArrayList&lt;&gt;(<a name="line.2472"></a>
+<span class="sourceLineNo">2473</span>              serverManager.getDeadServers().copyServerNames()));<a name="line.2473"></a>
+<span class="sourceLineNo">2474</span>          }<a name="line.2474"></a>
+<span class="sourceLineNo">2475</span>          break;<a name="line.2475"></a>
+<span class="sourceLineNo">2476</span>        }<a name="line.2476"></a>
+<span class="sourceLineNo">2477</span>        case MASTER_COPROCESSORS: {<a name="line.2477"></a>
+<span class="sourceLineNo">2478</span>          if (cpHost != null) {<a name="line.2478"></a>
+<span class="sourceLineNo">2479</span>            builder.setMasterCoprocessorNames(Arrays.asList(getMasterCoprocessors()));<a name="line.2479"></a>
+<span class="sourceLineNo">2480</span>          }<a name="line.2480"></a>
+<span class="sourceLineNo">2481</span>          break;<a name="line.2481"></a>
+<span class="sourceLineNo">2482</span>        }<a name="line.2482"></a>
+<span class="sourceLineNo">2483</span>        case REGIONS_IN_TRANSITION: {<a name="line.2483"></a>
+<span class="sourceLineNo">2484</span>          if (assignmentManager != null) {<a name="line.2484"></a>
+<span class="sourceLineNo">2485</span>            builder.setRegionsInTransition(assignmentManager.getRegionStates()<a name="line.2485"></a>
+<span class="sourceLineNo">2486</span>                .getRegionsStateInTransition());<a name="line.2486"></a>
+<span class="sourceLineNo">2487</span>          }<a name="line.2487"></a>
+<span class="sourceLineNo">2488</span>          break;<a name="line.2488"></a>
+<span class="sourceLineNo">2489</span>        }<a name="line.2489"></a>
+<span class="sourceLineNo">2490</span>        case BALANCER_ON: {<a name="line.2490"></a>
+<span class="sourceLineNo">2491</span>          if (loadBalancerTracker != null) {<a name="line.2491"></a>
+<span class="sourceLineNo">2492</span>            builder.setBalancerOn(loadBalancerTracker.isBalancerOn());<a name="line.2492"></a>
+<span class="sourceLineNo">2493</span>          }<a name="line.2493"></a>
+<span class="sourceLineNo">2494</span>          break;<a name="line.2494"></a>
+<span class="sourceLineNo">2495</span>        }<a name="line.2495"></a>
+<span class="sourceLineNo">2496</span>        case MASTER_INFO_PORT: {<a name="line.2496"></a>
+<span class="sourceLineNo">2497</span>          if (infoServer != null) {<a name="line.2497"></a>
+<span class="sourceLineNo">2498</span>            builder.setMasterInfoPort(infoServer.getPort());<a name="line.2498"></a>
+<span class="sourceLineNo">2499</span>          }<a name="line.2499"></a>
+<span class="sourceLineNo">2500</span>          break;<a name="line.2500"></a>
+<span class="sourceLineNo">2501</span>        }<a name="line.2501"></a>
+<span class="sourceLineNo">2502</span>      }<a name="line.2502"></a>
+<span class="sourceLineNo">2503</span>    }<a name="line.2503"></a>
+<span class="sourceLineNo">2504</span>    return builder.build();<a name="line.2504"></a>
+<span class="sourceLineNo">2505</span>  }<a name="line.2505"></a>
+<span class="sourceLineNo">2506</span><a name="line.2506"></a>
+<span class="sourceLineNo">2507</span>  /**<a name="line.2507"></a>
+<span class="sourceLineNo">2508</span>   * @return cluster status<a name="line.2508"></a>
+<span class="sourceLineNo">2509</span>   */<a name="line.2509"></a>
+<span class="sourceLineNo">2510</span>  public ClusterMetrics getClusterMetrics() throws IOException {<a name="line.2510"></a>
+<span class="sourceLineNo">2511</span>    return getClusterMetrics(EnumSet.allOf(Option.class));<a name="line.2511"></a>
+<span class="sourceLineNo">2512</span>  }<a name="line.2512"></a>
+<span class="sourceLineNo">2513</span><a name="line.2513"></a>
+<span class="sourceLineNo">2514</span>  public ClusterMetrics getClusterMetrics(EnumSet&lt;Option&gt; options) throws IOException {<a name="line.2514"></a>
+<span class="sourceLineNo">2515</span>    if (cpHost != null) {<a name="line.2515"></a>
+<span class="sourceLineNo">2516</span>      cpHost.preGetClusterMetrics();<a name="line.2516"></a>
+<span class="sourceLineNo">2517</span>    }<a name="line.2517"></a>
+<span class="sourceLineNo">2518</span>    ClusterMetrics status = getClusterMetricsWithoutCoprocessor(options);<a name="line.2518"></a>
+<span class="sourceLineNo">2519</span>    if (cpHost != null) {<a name="line.2519"></a>
+<span class="sourceLineNo">2520</span>      cpHost.postGetClusterMetrics(status);<a name="line.2520"></a>
+<span class="sourceLineNo">2521</span>    }<a name="line.2521"></a>
+<span class="sourceLineNo">2522</span>    return status;<a name="line.2522"></a>
+<span class="sourceLineNo">2523</span>  }<a name="line.2523"></a>
+<span class="sourceLineNo">2524</span><a name="line.2524"></a>
+<span class="sourceLineNo">2525</span>  private List&lt;ServerName&gt; getBackupMasters() throws InterruptedIOException {<a name="line.2525"></a>
+<span class="sourceLineNo">2526</span>    // Build Set of backup masters from ZK nodes<a name="line.2526"></a>
+<span class="sourceLineNo">2527</span>    List&lt;String&gt; backupMasterStrings;<a name="line.2527"></a>
+<span class="sourceLineNo">2528</span>    try {<a name="line.2528"></a>
+<span class="sourceLineNo">2529</span>      backupMasterStrings = ZKUtil.listChildrenNoWatch(this.zooKeeper,<a name="line.2529"></a>
+<span class="sourceLineNo">2530</span>        this.zooKeeper.znodePaths.backupMasterAddressesZNode);<a name="line.2530"></a>
+<span class="sourceLineNo">2531</span>    } catch (KeeperException e) {<a name="line.2531"></a>
+<span class="sourceLineNo">2532</span>      LOG.warn(this.zooKeeper.prefix("Unable to list backup servers"), e);<a name="line.2532"></a>
+<span class="sourceLineNo">2533</span>      backupMasterStrings = null;<a name="line.2533"></a>
+<span class="sourceLineNo">2534</span>    }<a name="line.2534"></a>
+<span class="sourceLineNo">2535</span><a name="line.2535"></a>
+<span class="sourceLineNo">2536</span>    List&lt;ServerName&gt; backupMasters = Collections.emptyList();<a name="line.2536"></a>
+<span class="sourceLineNo">2537</span>    if (backupMasterStrings != null &amp;&amp; !backupMasterStrings.isEmpty()) {<a name="line.2537"></a>
+<span class="sourceLineNo">2538</span>      backupMasters = new ArrayList&lt;&gt;(backupMasterStrings.size());<a name="line.2538"></a>
+<span class="sourceLineNo">2539</span>      for (String s: backupMasterStrings) {<a name="line.2539"></a>
+<span class="sourceLineNo">2540</span>        try {<a name="line.2540"></a>
+<span class="sourceLineNo">2541</span>          byte [] bytes;<a name="line.2541"></a>
+<span class="sourceLineNo">2542</span>          try {<a name="line.2542"></a>
+<span class="sourceLineNo">2543</span>            bytes = ZKUtil.getData(this.zooKeeper, ZNodePaths.joinZNode(<a name="line.2543"></a>
+<span class="sourceLineNo">2544</span>                this.zooKeeper.znodePaths.backupMasterAddressesZNode, s));<a name="line.2544"></a>
+<span class="sourceLineNo">2545</span>          } catch (InterruptedException e) {<a name="line.2545"></a>
+<span class="sourceLineNo">2546</span>            throw new InterruptedIOException();<a name="line.2546"></a>
+<span class="sourceLineNo">2547</span>          }<a name="line.2547"></a>
+<span class="sourceLineNo">2548</span>          if (bytes != null) {<a name="line.2548"></a>
+<span class="sourceLineNo">2549</span>            ServerName sn;<a name="line.2549"></a>
+<span class="sourceLineNo">2550</span>            try {<a name="line.2550"></a>
+<span class="sourceLineNo">2551</span>              sn = ProtobufUtil.parseServerNameFrom(bytes);<a name="line.2551"></a>
+<span class="sourceLineNo">2552</span>            } catch (DeserializationException e) {<a name="line.2552"></a>
+<span class="sourceLineNo">2553</span>              LOG.warn("Failed parse, skipping registering backup server", e);<a name="line.2553"></a>
+<span class="sourceLineNo">2554</span>              continue;<a name="line.2554"></a>
+<span class="sourceLineNo">2555</span>            }<a name="line.2555"></a>
+<span class="sourceLineNo">2556</span>            backupMasters.add(sn);<a name="line.2556"></a>
+<span class="sourceLineNo">2557</span>          }<a name="line.2557"></a>
+<span class="sourceLineNo">2558</span>        } catch (KeeperException e) {<a name="line.2558"></a>
+<span class="sourceLineNo">2559</span>          LOG.warn(this.zooKeeper.prefix("Unable to get information about " +<a name="line.2559"></a>
+<span class="sourceLineNo">2560</span>                   "backup servers"), e);<a name="line.2560"></a>
+<span class="sourceLineNo">2561</span>        }<a name="line.2561"></a>
+<span class="sourceLineNo">2562</span>      }<a name="line.2562"></a>
+<span class="sourceLineNo">2563</span>      Collections.sort(backupMasters, new Comparator&lt;ServerName&gt;() {<a name="line.2563"></a>
+<span class="sourceLineNo">2564</span>        @Override<a name="line.2564"></a>
+<span class="sourceLineNo">2565</span>        public int compare(ServerName s1, ServerName s2) {<a name="line.2565"></a>
+<span class="sourceLineNo">2566</span>          return s1.getServerName().compareTo(s2.getServerName());<a name="line.2566"></a>
+<span class="sourceLineNo">2567</span>        }});<a name="line.2567"></a>
+<span class="sourceLineNo">2568</span>    }<a name="line.2568"></a>
+<span class="sourceLineNo">2569</span>    return backupMasters;<a name="line.2569"></a>
+<span class="sourceLineNo">2570</span>  }<a name="line.2570"></a>
+<span class="sourceLineNo">2571</span><a name="line.2571"></a>
+<span class="sourceLineNo">2572</span>  /**<a name="line.2572"></a>
+<span class="sourceLineNo">2573</span>   * The set of loaded coprocessors is stored in a static set. Since it's<a name="line.2573"></a>
+<span class="sourceLineNo">2574</span>   * statically allocated, it does not require that HMaster's cpHost be<a name="line.2574"></a>
+<span class="sourceLineNo">2575</span>   * initialized prior to accessing it.<a name="line.2575"></a>
+<span class="sourceLineNo">2576</span>   * @return a String representation of the set of names of the loaded coprocessors.<a name="line.2576"></a>
+<span class="sourceLineNo">2577</span>   */<a name="line.2577"></a>
+<span class="sourceLineNo">2578</span>  public static String getLoadedCoprocessors() {<a name="line.2578"></a>
+<span class="sourceLineNo">2579</span>    return CoprocessorHost.getLoadedCoprocessors().toString();<a name="line.2579"></a>
+<span class="sourceLineNo">2580</span>  }<a name="line.2580"></a>
+<span class="sourceLineNo">2581</span><a name="line.2581"></a>
+<span class="sourceLineNo">2582</span>  /**<a name="line.2582"></a>
+<span class="sourceLineNo">2583</span>   * @return timestamp in millis when HMaster was started.<a name="line.2583"></a>
+<span class="sourceLineNo">2584</span>   */<a name="line.2584"></a>
+<span class="sourceLineNo">2585</span>  public long getMasterStartTime() {<a name="line.2585"></a>
+<span class="sourceLineNo">2586</span>    return startcode;<a name="line.2586"></a>
+<span class="sourceLineNo">2587</span>  }<a name="line.2587"></a>
+<span class="sourceLineNo">2588</span><a name="line.2588"></a>
+<span class="sourceLineNo">2589</span>  /**<a name="line.2589"></a>
+<span class="sourceLineNo">2590</span>   * @return timestamp in millis when HMaster became the active master.<a name="line.2590"></a>
+<span class="sourceLineNo">2591</span>   */<a name="line.2591"></a>
+<span class="sourceLineNo">2592</span>  public long getMasterActiveTime() {<a name="line.2592"></a>
+<span class="sourceLineNo">2593</span>    return masterActiveTime;<a name="line.2593"></a>
+<span class="sourceLineNo">2594</span>  }<a name="line.2594"></a>
+<span class="sourceLineNo">2595</span><a name="line.2595"></a>
+<span class="sourceLineNo">2596</span>  /**<a name="line.2596"></a>
+<span class="sourceLineNo">2597</span>   * @return timestamp in millis when HMaster finished becoming the active master<a name="line.2597"></a>
+<span class="sourceLineNo">2598</span>   */<a name="line.2598"></a>
+<span class="sourceLineNo">2599</span>  public long getMasterFinishedInitializationTime() {<a name="line.2599"></a>
+<span class="sourceLineNo">2600</span>    return masterFinishedInitializationTime;<a name="line.2600"></a>
+<span class="sourceLineNo">2601</span>  }<a name="line.2601"></a>
+<span class="sourceLineNo">2602</span><a name="line.2602"></a>
+<span class="sourceLineNo">2603</span>  public int getNumWALFiles() {<a name="line.2603"></a>
+<span class="sourceLineNo">2604</span>    return procedureStore != null ? procedureStore.getActiveLogs().size() : 0;<a name="line.2604"></a>
+<span class="sourceLineNo">2605</span>  }<a name="line.2605"></a>
+<span class="sourceLineNo">2606</span><a name="line.2606"></a>
+<span class="sourceLineNo">2607</span>  public WALProcedureStore getWalProcedureStore() {<a name="line.2607"></a>
+<span class="sourceLineNo">2608</span>    return procedureStore;<a name="line.2608"></a>
+<span class="sourceLineNo">2609</span>  }<a name="line.2609"></a>
+<span class="sourceLineNo">2610</span><a name="line.2610"></a>
+<span class="sourceLineNo">2611</span>  public int getRegionServerInfoPort(final ServerName sn) {<a name="line.2611"></a>
+<span class="sourceLineNo">2612</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2612"></a>
+<span class="sourceLineNo">2613</span>    if (info == null || info.getInfoPort() == 0) {<a name="line.2613"></a>
+<span class="sourceLineNo">2614</span>      return conf.getInt(HConstants.REGIONSERVER_INFO_PORT,<a name="line.2614"></a>
+<span class="sourceLineNo">2615</span>        HConstants.DEFAULT_REGIONSERVER_INFOPORT);<a name="line.2615"></a>
+<span class="sourceLineNo">2616</span>    }<a name="line.2616"></a>
+<span class="sourceLineNo">2617</span>    return info.getInfoPort();<a name="line.2617"></a>
+<span class="sourceLineNo">2618</span>  }<a name="line.2618"></a>
+<span class="sourceLineNo">2619</span><a name="line.2619"></a>
+<span class="sourceLineNo">2620</span>  @Override<a name="line.2620"></a>
+<span class="sourceLineNo">2621</span>  public String getRegionServerVersion(final ServerName sn) {<a name="line.2621"></a>
+<span class="sourceLineNo">2622</span>    RegionServerInfo info = this.regionServerTracker.getRegionServerInfo(sn);<a name="line.2622"></a>
+<span class="sourceLineNo">2623</span>    if (info != null &amp;&amp; info.hasVersionInfo()) {<a name="line.2623"></a>
+<span class="sourceLineNo">2624</span>      return info.getVersionInfo().getVersion();<a name="line.2624"></a>
+<span class="sourceLineNo">2625</span>    }<a name="line.2625"></a>
+<span class="sourceLineNo">2626</span>    return "0.0.0"; //Lowest version to prevent move system region to unknown version RS.<a name="line.2626"></a>
+<span class="sourceLineNo">2627</span>  }<a name="line.2627"></a>
+<span class="sourceLineNo">2628</span><a name="line.2628"></a>
+<span class="sourceLineNo">2629</span>  @Override<a name="line.2629"></a>
+<span class="sourceLineNo">2630</span>  public void checkIfShouldMoveSystemRegionAsync() {<a name="line.2630"></a>
+<span class="sourceLineNo">2631</span>    assignmentManager.checkIfShouldMoveSystemRegionAsync();<a name="line.2631"></a>
+<span class="sourceLineNo">2632</span>  }<a name="line.2632"></a>
+<span class="sourceLineNo">2633</span><a name="line.2633"></a>
+<span class="sourceLineNo">2634</span>  /**<a name="line.2634"></a>
+<span class="sourceLineNo">2635</span>   * @return array of coprocessor SimpleNames.<a name="line.2635"></a>
+<span class="sourceLineNo">2636</span>   */<a name="line.2636"></a>
+<span class="sourceLineNo">2637</span>  public String[] getMasterCoprocessors() {<a name="line.2637"></a>
+<span class="sourceLineNo">2638</span>    Set&lt;String&gt; masterCoprocessors = getMasterCoprocessorHost().getCoprocessors();<a name="line.2638"></a>
+<span class="sourceLineNo">2639</span>    return masterCoprocessors.toArray(new String[masterCoprocessors.size()]);<a name="line.2639"></a>
+<span class="sourceLineNo">2640</span>  }<a name="line.2640"></a>
+<span class="sourceLineNo">2641</span><a name="line.2641"></a>
+<span class="sourceLineNo">2642</span>  @Override<a name="line.2642"></a>
+<span class="sourceLineNo">2643</span>  public void abort(String reason, Throwable cause) {<a name="line.2643"></a>
+<span class="sourceLineNo">2644</span>    if (isAborted() || isStopped()) {<a name="line.2644"></a>
+<span class="sourceLineNo">2645</span>      return;<a name="line.2645"></a>
+<span class="sourceLineNo">2646</span>    }<a name="line.2646"></a>
+<span class="sourceLineNo">2647</span>    if (cpHost != null) {<a name="line.2647"></a>
+<span class="sourceLineNo">2648</span>      // HBASE-4014: dump a list of loaded coprocessors.<a name="line.2648"></a>
+<span class="sourceLineNo">2649</span>      LOG.error(HBaseMarkers.FATAL, "Master server abort: loaded coprocessors are: " +<a name="line.2649"></a>
+<span class="sourceLineNo">2650</span>          getLoadedCoprocessors());<a name="line.2650"></a>
+<span class="sourceLineNo">2651</span>    }<a name="line.2651"></a>
+<span class="sourceLineNo">2652</span>    String msg = "***** ABORTING master " + this + ": " + reason + " *****";<a name="line.2652"></a>
+<span class="sourceLineNo">2653</span>    if (cause != null) {<a name="line.2653"></a>
+<span class="sourceLineNo">2654</span>      LOG.error(HBaseMarkers.FATAL, msg, cause);<a name="line.2654"></a>
+<span class="sourceLineNo">2655</span>    } else {<a name="line.2655"></a>
+<span class="sourceLineNo">2656</span>      LOG.error(HBaseMarkers.FATAL, msg);<a name="line.2656"></a>
+<span class="sourceLineNo">2657</span>    }<a name="line.2657"></a>
+<span class="sourceLineNo">2658</span><a name="line.2658"></a>
+<span class="sourceLineNo">2659</span>    try {<a name="line.2659"></a>
+<span class="sourceLineNo">2660</span>      stopMaster();<a name="line.2660"></a>
+<span class="sourceLineNo">2661</span>    } catch (IOException e) {<a name="line.2661"></a>
+<span class="sourceLineNo">2662</span>      LOG.error("Exception occurred while stopping master", e);<a name="line.2662"></a>
+<span class="sourceLineNo">2663</span>    }<a name="line.2663"></a>
+<span class="sourceLineNo">2664</span>  }<a name="line.2664"></a>
+<span class="sourceLineNo">2665</span><a name="line.2665"></a>
+<span class="sourceLineNo">2666</span>  @Override<a name="line.2666"></a>
+<span class="sourceLineNo">2667</span>  public ZKWatcher getZooKeeper() {<a name="line.2667"></a>
+<span class="sourceLineNo">2668</span>    return zooKeeper;<a name="line.2668"></a>
+<span class="sourceLineNo">2669</span>  }<a name="line.2669"></a>
+<span class="sourceLineNo">2670</span><a name="line.2670"></a>
+<span class="sourceLineNo">2671</span>  @Override<a name="line.2671"></a>
+<span class="sourceLineNo">2672</span>  public MasterCoprocessorHost getMasterCoprocessorHost() {<a name="line.2672"></a>
+<span class="sourceLineNo">2673</span>    return cpHost;<a name="line.2673"></a>
+<span class="sourceLineNo">2674</span>  }<a name="line.2674"></a>
+<span class="sourceLineNo">2675</span><a name="line.2675"></a>
+<span class="sourceLineNo">2676</span>  @Override<a name="line.2676"></a>
+<span class="sourceLineNo">2677</span>  public MasterQuotaManager getMasterQuotaManager() {<a name="line.2677"></a>
+<span class="sourceLineNo">2678</span>    return quotaManager;<a name="line.2678"></a>
+<span class="sourceLineNo">2679</span>  }<a name="line.2679"></a>
+<span class="sourceLineNo">2680</span><a name="line.2680"></a>
+<span class="sourceLineNo">2681</span>  @Override<a name="line.2681"></a>
+<span class="sourceLineNo">2682</span>  public ProcedureExecutor&lt;MasterProcedureEnv&gt; getMasterProcedureExecutor() {<a name="line.2682"></a>
+<span class="sourceLineNo">2683</span>    return procedureExecutor;<a name="line.2683"></a>
+<span class="sourceLineNo">2684</span>  }<a name="line.2684"></a>
+<span class="sourceLineNo">2685</span><a name="line.2685"></a>
+<span class="sourceLineNo">2686</span>  @Override<a name="line.2686"></a>
+<span class="sourceLineNo">2687</span>  public ServerName getServerName() {<a name="line.2687"></a>
+<span class="sourceLineNo">2688</span>    return this.serverName;<a name="line.2688"></a>
+<span class="sourceLineNo">2689</span>  }<a name="line.2689"></a>
+<span class="sourceLineNo">2690</span><a name="line.2690"></a>
+<span class="sourceLineNo">2691</span>  @Override<a name="line.2691"></a>
+<span class="sourceLineNo">2692</span>  public AssignmentManager getAssignmentManager() {<a name="line.2692"></a>
+<span class="sourceLineNo">2693</span>    return this.assignmentManager;<a name="line.2693"></a>
+<span class="sourceLineNo">2694</span>  }<a name="line.2694"></a>
+<span class="sourceLineNo">2695</span><a name="line.2695"></a>
+<span class="sourceLineNo">2696</span>  @Override<a name="line.2696"></a>
+<span class="sourceLineNo">2697</span>  public CatalogJanitor getCatalogJanitor() {<a name="line.2697"></a>
+<span class="sourceLineNo">2698</span>    return this.catalogJanitorChore;<a name="line.2698"></a>
+<span class="sourceLineNo">2699</span>  }<a name="line.2699"></a>
+<span class="sourceLineNo">2700</span><a name="line.2700"></a>
+<span class="sourceLineNo">2701</span>  public MemoryBoundedLogMessageBuffer getRegionServerFatalLogBuffer() {<a name="line.2701"></a>
+<span class="sourceLineNo">2702</span>    return rsFatals;<a name="line.2702"></a>
+<span class="sourceLineNo">2703</span>  }<a name="line.2703"></a>
+<span class="sourceLineNo">2704</span><a name="line.2704"></a>
+<span class="sourceLineNo">2705</span>  /**<a name="line.2705"></a>
+<span class="sourceLineNo">2706</span>   * Shutdown the cluster.<a name="line.2706"></a>
+<span class="sourceLineNo">2707</span>   * Master runs a coordinated stop of all RegionServers and then itself.<a name="line.2707"></a>
+<span class="sourceLineNo">2708</span>   */<a name="line.2708"></a>
+<span class="sourceLineNo">2709</span>  public void shutdown() throws IOException {<a name="line.2709"></a>
+<span class="sourceLineNo">2710</span>    if (cpHost != null) {<a name="line.2710"></a>
+<span class="sourceLineNo">2711</span>      cpHost.preShutdown();<a name="line.2711"></a>
+<span class="sourceLineNo">2712</span>    }<a name="line.2712"></a>
+<span class="sourceLineNo">2713</span>    // Tell the servermanager cluster shutdown has been called. This makes it so when Master is<a name="line.2713"></a>
+<span class="sourceLineNo">2714</span>    // last running server, it'll stop itself. Next, we broadcast the cluster shutdown by setting<a name="line.2714"></a>
+<span class="sourceLineNo">2715</span>    // the cluster status as down. RegionServers will notice this change in state and will start<a name="line.2715"></a>
+<span class="sourceLineNo">2716</span>    // shutting themselves down. When last has exited, Master can go down.<a name="line.2716"></a>
+<span class="sourceLineNo">2717</span>    if (this.serverManager != null) {<a name="line.2717"></a>
+<span class="sourceLineNo">2718</span>      this.serverManager.shutdownCluster();<a name="line.2718"></a>
+<span class="sourceLineNo">2719</span>    }<a name="line.2719"></a>
+<span class="sourceLineNo">2720</span>    if (this.clusterStatusTracker != null) {<a name="line.2720"></a>
+<span class="sourceLineNo">2721</span>      try {<a name="line.2721"></a>
+<span class="sourceLineNo">2722</span>        this.clusterStatusTracker.setClusterDown();<a name="line.2722"></a>
+<span class="sourceLineNo">2723</span>      } catch (KeeperException e) {<a name="line.2723"></a>
+<span class="sourceLineNo">2724</span>        LOG.error("ZooKeeper exception trying to set cluster as down in ZK", e);<a name="line.2724"></a>
+<span class="sourceLineNo">2725</span>      }<a name="line.2725"></a>
+<span class="sourceLineNo">2726</span>    }<a name="line.2726"></a>
+<span class="sourceLineNo">2727</span>    // Stop the procedure executor. Will stop any ongoing assign, unassign, server crash etc.,<a name="line.2727"></a>
+<span class="sourceLineNo">2728</span>    // processing so we can go down.<a name="line.2728"></a>
+<span class="sourceLineNo">2729</span>    if (this.procedureExecutor != null) {<a name="line.2729"></a>
+<span class="sourceLineNo">2730</span>      this.procedureExecutor.stop();<a name="line.2730"></a>
+<span class="sourceLineNo">2731</span>    }<a name="line.2731"></a>
+<span class="sourceLineNo">2732</span>    // Shutdown our cluster connection. This will kill any hosted RPCs that might be going on;<a name="line.2732"></a>
+<span class="sourceLineNo">2733</span>    // this is what we want especially if the Master is in startup phase doing call outs to<a name="line.2733"></a>
+<span class="sourceLineNo">2734</span>    // hbase:meta, etc. when cluster is down. Without ths connection close, we'd have to wait on<a name="line.2734"></a>
+<span class="sourceLineNo">2735</span>    // the rpc to timeout.<a name="line.2735"></a>
+<span class="sourceLineNo">2736</span>    if (this.clusterConnection != null) {<a name="line.2736"></a>
+<span class="sourceLineNo">2737</span>      this.clusterConnection.close();<a name="line.2737"></a>
+<span class="sourceLineNo">2738</span>    }<a name="line.2738"></a>
+<span class="sourceLineNo">2739</span>  }<a name="line.2739"></a>
+<span class="sourceLineNo">2740</span><a name="line.2740"></a>
+<span class="sourceLineNo">2741</span>  public void stopMaster() throws IOException {<a name="line.2741"></a>
+<span class="sourceLineNo">2742</span>    if (cpHost != null) {<a name="line.2742"></a>
+<span class="sourceLineNo">2743</span>      cpHost.preStopMaster();<a name="line.2743"></a>
+<span class="sourceLineNo">2744</span>    }<a name="line.2744"></a>
+<span class="sourceLineNo">2745</span>    stop("Stopped by " + Thread.currentThread().getName());<a name="line.2745"></a>
+<span class="sourceLineNo">2746</span>  }<a name="line.2746"></a>
+<span class="sourceLineNo">2747</span><a name="line.2747"></a>
+<span class="sourceLineNo">2748</span>  @Override<a name="line.2748"></a>
+<span class="sourceLineNo">2749</span>  public void stop(String msg) {<a name="line.2749"></a>
+<span class="sourceLineNo">2750</span>    if (!isStopped()) {<a name="line.2750"></a>
+<span class="sourceLineNo">2751</span>      super.stop(msg);<a name="line.2751"></a>
+<span class="sourceLineNo">2752</span>      if (this.activeMasterManager != null) {<a name="line.2752"></a>
+<span class="sourceLineNo">2753</span>        this.activeMasterManager.stop();<a name="line.2753"></a>
+<span class="sourceLineNo">2754</span>      }<a name="line.2754"></a>
+<span class="sourceLineNo">2755</span>    }<a name="line.2755"></a>
+<span class="sourceLineNo">2756</span>  }<a name="line.2756"></a>
+<span class="sourceLineNo">2757</span><a name="line.2757"></a>
+<span class="sourceLineNo">2758</span>  void checkServiceStarted() throws ServerNotRunningYetException {<a name="line.2758"></a>
+<span class="sourceLineNo">2759</span>    if (!serviceStarted) {<a name="line.2759"></a>
+<span class="sourceLineNo">2760</span>      throw new ServerNotRunningYetException("Server is not running yet");<a name="line.2760"></a>
+<span class="sourceLineNo">2761</span>    }<a name="line.2761"></a>
+<span class="sourceLineNo">2762</span>  }<a name="line.2762"></a>
+<span class="sourceLineNo">2763</span><a name="line.2763"></a>
+<span class="sourceLineNo">2764</span>  public static class MasterStoppedException extends DoNotRetryIOException {<a name="line.2764"></a>
+<span class="sourceLineNo">2765</span>    MasterStoppedException() {<a name="line.2765"></a>
+<span class="sourceLineNo">2766</span>      super();<a name="line.2766"></a>
+<span class="sourceLineNo">2767</span>    }<a name="line.2767"></a>
+<span class="sourceLineNo">2768</span>  }<a name="line.2768"></a>
+<span class="sourceLineNo">2769</span><a name="line.2769"></a>
+<span class="sourceLineNo">2770</span>  void checkInitialized() throws PleaseHoldException, ServerNotRunningYetException,<a name="line.2770"></a>
+<span class="sourceLineNo">2771</span>      MasterNotRunningException, MasterStoppedException {<a name="line.2771"></a>
+<span class="sourceLineNo">2772</span>    checkServiceStarted();<a name="line.2772"></a>
+<span class="sourceLineNo">2773</span>    if (!isInitialized()) {<a name="line.2773"></a>
+<span class="sourceLineNo">2774</span>      throw new PleaseHoldException("Master is initializing");<a name="line.2774"></a>
 <span class="sourceLineNo">2775</span>    }<a name="line.2775"></a>
-<span class="sourceLineNo">2776</span>  }<a name="line.2776"></a>
-<span class="sourceLineNo">2777</span><a name="line.2777"></a>
-<span class="sourceLineNo">2778</span>  /**<a name="line.2778"></a>
-<span class="sourceLineNo">2779</span>   * Report whether this master is currently the active master or not.<a name="line.2779"></a>
-<span class="sourceLineNo">2780</span>   * If not active master, we are parked on ZK waiting to become active.<a name="line.2780"></a>
-<span class="sourceLineNo">2781</span>   *<a name="line.2781"></a>
-<span class="sourceLineNo">2782</span>   * This method is used for testing.<a name="line.2782"></a>
-<span class="sourceLineNo">2783</span>   *<a name="line.2783"></a>
-<span class="sourceLineNo">2784</span>   * @return true if active master, false if not.<a name="line.2784"></a>
-<span class="sourceLineNo">2785</span>   */<a name="line.2785"></a>
-<span class="sourceLineNo">2786</span>  @Override<a name="line.2786"></a>
-<span class="sourceLineNo">2787</span>  public boolean isActiveMaster() {<a name="line.2787"></a>
-<span class="sourceLineNo">2788</span>    return activeMaster;<a name="line.2788"></a>
-<span class="sourceLineNo">2789</span>  }<a name="line.2789"></a>
-<span class="sourceLineNo">2790</span><a name="line.2790"></a>
-<span class="sourceLineNo">2791</span>  /**<a name="line.2791"></a>
-<span class="sourceLineNo">2792</span>   * Report whether this master has completed with its initialization and is<a name="line.2792"></a>
-<span class="sourceLineNo">2793</span>   * ready.  If ready, the master is also the active master.  A standby master<a name="line.2793"></a>
-<span class="sourceLineNo">2794</span>   * is never ready.<a name="line.2794"></a>
-<span class="sourceLineNo">2795</span>   *<a name="line.2795"></a>
-<span class="sourceLineNo">2796</span>   * This method is used for testing.<a name="line.2796"></a>
-<span class="sourceLineNo">2797</span>   *<a name="line.2797"></a>
-<span class="sourceLineNo">2798</span>   * @return true if master is ready to go, false if not.<a name="line.2798"></a>
-<span class="sourceLineNo">2799</span>   */<a name="line.2799"></a>
-<span class="sourceLineNo">2800</span>  @Override<a name="line.2800"></a>
-<span class="sourceLineNo">2801</span>  public boolean isInitialized() {<a name="line.2801"></a>
-<span class="sourceLineNo">2802</span>    return initialized.isReady();<a name="line.2802"></a>
-<span class="sourceLineNo">2803</span>  }<a name="line.2803"></a>
-<span class="sourceLineNo">2804</span><a name="line.2804"></a>
-<span class="sourceLineNo">2805</span>  /**<a name="line.2805"></a>
-<span class="sourceLineNo">2806</span>   * Report whether this master is in maintenance mode.<a name="line.2806"></a>
-<span class="sourceLineNo">2807</span>   *<a name="line.2807"></a>
-<span class="sourceLineNo">2808</span>   * @return true if master is in maintenanceMode<a name="line.2808"></a>
-<span class="sourceLineNo">2809</span>   */<a name="line.2809"></a>
-<span class="sourceLineNo">2810</span>  @Override<a name="line.2810"></a>
-<span class="sourceLineNo">2811</span>  public boolean isInMaintenanceMode() {<a name="line.2811"></a>
-<span class="sourceLineNo">2812</span>    return maintenanceModeTracker.isInMaintenanceMode();<a name="line.2812"></a>
-<span class="sourceLineNo">2813</span>  }<a name="line.2813"></a>
-<span class="sourceLineNo">2814</span><a name="line.2814"></a>
-<span class="sourceLineNo">2815</span>  @VisibleForTesting<a name="line.2815"></a>
-<span class="sourceLineNo">2816</span>  public void setInitialized(boolean isInitialized) {<a name="line.2816"></a>
-<span class="sourceLineNo">2817</span>    procedureExecutor.getEnvironment().setEventReady(initialized, isInitialized);<a name="line.2817"></a>
-<span class="sourceLineNo">2818</span>  }<a name="line.2818"></a>
-<span class="sourceLineNo">2819</span><a name="line.2819"></a>
-<span class="sourceLineNo">2820</span>  @Override<a name="line.2820"></a>
-<span class="sourceLineNo">2821</span>  public ProcedureEvent&lt;?&gt; getInitializedEvent() {<a name="line.2821"></a>
-<span class="sourceLineNo">2822</span>    return initialized;<a name="line.2822"></a>
-<span class="sourceLineNo">2823</span>  }<a name="line.2823"></a>
-<span class="sourceLineNo">2824</span><a name="line.2824"></a>
-<span class="sourceLineNo">2825</span>  /**<a name="line.2825"></a>
-<span class="sourceLineNo">2826</span>   * ServerCrashProcessingEnabled is set false before completing assignMeta to prevent processing<a name="line.2826"></a>
-<span class="sourceLineNo">2827</span>   * of crashed servers.<a name="line.2827"></a>
-<span class="sourceLineNo">2828</span>   * @return true if assignMeta has completed;<a name="line.2828"></a>
-<span class="sourceLineNo">2829</span>   */<a name="line.2829"></a>
-<span class="sourceLineNo">2830</span>  @Override<a name="line.2830"></a>
-<span class="sourceLineNo">2831</span>  public boolean isServerCrashProcessingEnabled() {<a name="line.2831"></a>
-<span class="sourceLineNo">2832</span>    return serverCrashProcessingEnabled.isReady();<a name="line.2832"></a>
-<span class="sourceLineNo">2833</span>  }<a name="line.2833"></a>
-<span class="sourceLineNo">2834</span><a name="line.2834"></a>
-<span class="sourceLineNo">2835</span>  @VisibleForTesting<a name="line.2835"></a>
-<span class="sourceLineNo">2836</span>  public void setServerCrashProcessingEnabled(final boolean b) {<a name="line.2836"></a>
-<span class="sourceLineNo">2837</span>    procedureExecutor.getEnvironment().setEventReady(serverCrashProcessingEnabled, b);<a name="line.2837"></a>
-<span class="sourceLineNo">2838</span>  }<a name="line.2838"></a>
-<span class="sourceLineNo">2839</span><a name="line.2839"></a>
-<span class="sourceLineNo">2840</span>  public ProcedureEvent&lt;?&gt; getServerCrashProcessingEnabledEvent() {<a name="line.2840"></a>
-<span class="sourceLineNo">2841</span>    return serverCrashProcessingEnabled;<a name="line.2841"></a>
-<span class="sourceLineNo">2842</span>  }<a name="line.2842"></a>
-<span class="sourceLineNo">2843</span><a name="line.2843"></a>
-<span class="sourceLineNo">2844</span>  /**<a name="line.2844"></a>
-<span class="sourceLineNo">2845</span>   * Compute the average load across all region servers.<a name="line.2845"></a>
-<span class="sourceLineNo">2846</span>   * Currently, this uses a very naive computation - just uses the number of<a name="line.2846"></a>
-<span class="sourceLineNo">2847</span>   * regions being served, ignoring stats about number of requests.<a name="line.2847"></a>
-<span class="sourceLineNo">2848</span>   * @return the average load<a name="line.2848"></a>
-<span class="sourceLineNo">2849</span>   */<a name="line.2849"></a>
-<span class="sourceLineNo">2850</span>  public double getAverageLoad() {<a name="line.2850"></a>
-<span class="sourceLineNo">2851</span>    if (this.assignmentManager == null) {<a name="line.2851"></a>
-<span class="sourceLineNo">2852</span>      return 0;<a name="line.2852"></a>
-<span class="sourceLineNo">2853</span>    }<a name="line.2853"></a>
-<span class="sourceLineNo">2854</span><a name="line.2854"></a>
-<span class="sourceLineNo">2855</span>    RegionStates regionStates = this.assignmentManager.getRegionStates();<a name="line.2855"></a>
-<span class="sourceLineNo">2856</span>    if (regionStates == null) {<a name="line.2856"></a>
-<span class="sourceLineNo">2857</span>      return 0;<a name="line.2857"></a>
-<span class="sourceLineNo">2858</span>    }<a name="line.2858"></a>
-<span class="sourceLineNo">2859</span>    return regionStates.getAverageLoad();<a name="line.2859"></a>
-<span class="sourceLineNo">2860</span>  }<a name="line.2860"></a>
-<span class="sourceLineNo">2861</span><a name="line.2861"></a>
-<span class="sourceLineNo">2862</span>  /*<a name="line.2862"></a>
-<span class="sourceLineNo">2863</span>   * @return the count of region split plans executed<a name="line.2863"></a>
-<span class="sourceLineNo">2864</span>   */<a name="line.2864"></a>
-<span class="sourceLineNo">2865</span>  public long getSplitPlanCount() {<a name="line.2865"></a>
-<span class="sourceLineNo">2866</span>    return splitPlanCount;<a name="line.2866"></a>
-<span class="sourceLineNo">2867</span>  }<a name="line.2867"></a>
-<span class="sourceLineNo">2868</span><a name="line.2868"></a>
-<span class="sourceLineNo">2869</span>  /*<a name="line.2869"></a>
-<span class="sourceLineNo">2870</span>   * @return the count of region merge plans executed<a name="line.2870"></a>
-<span class="sourceLineNo">2871</span>   */<a name="line.2871"></a>
-<span class="sourceLineNo">2872</span>  public long getMergePlanCount() {<a name="line.2872"></a>
-<span class="sourceLineNo">2873</span>    return mergePlanCount;<a name="line.2873"></a>
-<span class="sourceLineNo">2874</span>  }<a name="line.2874"></a>
-<span class="sourceLineNo">2875</span><a name="line.2875"></a>
-<span class="sourceLineNo">2876</span>  @Override<a name="line.2876"></a>
-<span class="sourceLineNo">2877</span>  public boolean registerService(Service instance) {<a name="line.2877"></a>
-<span class="sourceLineNo">2878</span>    /*<a name="line.2878"></a>
-<span class="sourceLineNo">2879</span>     * No stacking of instances is allowed for a single service name<a name="line.2879"></a>
-<span class="sourceLineNo">2880</span>     */<a name="line.2880"></a>
-<span class="sourceLineNo">2881</span>    Descriptors.ServiceDescriptor serviceDesc = instance.getDescriptorForType();<a name="line.2881"></a>
-<span class="sourceLineNo">2882</span>    String serviceName = CoprocessorRpcUtils.getServiceName(serviceDesc);<a name="line.2882"></a>
-<span class="sourceLineNo">2883</span>    if (coprocessorServiceHandlers.containsKey(serviceName)) {<a name="line.2883"></a>
-<span class="sourceLineNo">2884</span>      LOG.error("Coprocessor service "+serviceName+<a name="line.2884"></a>
-<span class="sourceLineNo">2885</span>          " already registered, rejecting request from "+instance<a name="line.2885"></a>
-<span clas

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html
index 6a10c31..3adb296 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.109">HFileOutputFormat2.TableInfo</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.110">HFileOutputFormat2.TableInfo</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -218,7 +218,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>tableDesctiptor</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/mapreduce/HFileOutputFormat2.TableInfo.html#line.110">tableDesctiptor</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/mapreduce/HFileOutputFormat2.TableInfo.html#line.111">tableDesctiptor</a></pre>
 </li>
 </ul>
 <a name="regionLocator">
@@ -227,7 +227,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>regionLocator</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html#line.111">regionLocator</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html#line.112">regionLocator</a></pre>
 </li>
 </ul>
 </li>
@@ -244,7 +244,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TableInfo</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html#line.113">TableInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDesctiptor,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html#line.114">TableInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDesctiptor,
                  <a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;regionLocator)</pre>
 </li>
 </ul>
@@ -263,7 +263,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <li class="blockList">
 <h4>getHTableDescriptor</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html#line.124">getHTableDescriptor</a>()</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html#line.125">getHTableDescriptor</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html#getTableDescriptor--"><code>getTableDescriptor()</code></a></span></div>
 <div class="block">The modification for the returned HTD doesn't affect the inner TD.</div>
 <dl>
@@ -278,7 +278,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html#line.128">getTableDescriptor</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html#line.129">getTableDescriptor</a>()</pre>
 </li>
 </ul>
 <a name="getRegionLocator--">
@@ -287,7 +287,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getRegionLocator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html#line.132">getRegionLocator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html#line.133">getRegionLocator</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html
index a558085..7d66d1c 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html
@@ -107,7 +107,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.477">HFileOutputFormat2.WriterLength</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.481">HFileOutputFormat2.WriterLength</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -188,7 +188,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>written</h4>
-<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html#line.478">written</a></pre>
+<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html#line.482">written</a></pre>
 </li>
 </ul>
 <a name="writer">
@@ -197,7 +197,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>writer</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html#line.479">writer</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html#line.483">writer</a></pre>
 </li>
 </ul>
 </li>
@@ -214,7 +214,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WriterLength</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html#line.477">WriterLength</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.WriterLength.html#line.481">WriterLength</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
index e793e5d..d234a60 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html
@@ -124,7 +124,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.106">HFileOutputFormat2</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.107">HFileOutputFormat2</a>
 extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</pre>
 <div class="block">Writes HFiles. Passed Cells must arrive in order.
  Writes current time as the sequence id for the file. Sets the major compacted
@@ -457,7 +457,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <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/mapreduce/HFileOutputFormat2.html#line.108">LOG</a></pre>
+<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.109">LOG</a></pre>
 </li>
 </ul>
 <a name="tableSeparator">
@@ -466,7 +466,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>tableSeparator</h4>
-<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.137">tableSeparator</a></pre>
+<pre>protected static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.138">tableSeparator</a></pre>
 </li>
 </ul>
 <a name="COMPRESSION_FAMILIES_CONF_KEY">
@@ -475,7 +475,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>COMPRESSION_FAMILIES_CONF_KEY</h4>
-<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.147">COMPRESSION_FAMILIES_CONF_KEY</a></pre>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.148">COMPRESSION_FAMILIES_CONF_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.COMPRESSION_FAMILIES_CONF_KEY">Constant Field Values</a></dd>
@@ -488,7 +488,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOOM_TYPE_FAMILIES_CONF_KEY</h4>
-<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.149">BLOOM_TYPE_FAMILIES_CONF_KEY</a></pre>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.150">BLOOM_TYPE_FAMILIES_CONF_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.BLOOM_TYPE_FAMILIES_CONF_KEY">Constant Field Values</a></dd>
@@ -501,7 +501,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>BLOCK_SIZE_FAMILIES_CONF_KEY</h4>
-<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.151">BLOCK_SIZE_FAMILIES_CONF_KEY</a></pre>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.152">BLOCK_SIZE_FAMILIES_CONF_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.BLOCK_SIZE_FAMILIES_CONF_KEY">Constant Field Values</a></dd>
@@ -514,7 +514,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>DATABLOCK_ENCODING_FAMILIES_CONF_KEY</h4>
-<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.153">DATABLOCK_ENCODING_FAMILIES_CONF_KEY</a></pre>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.154">DATABLOCK_ENCODING_FAMILIES_CONF_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.DATABLOCK_ENCODING_FAMILIES_CONF_KEY">Constant Field Values</a></dd>
@@ -527,7 +527,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>DATABLOCK_ENCODING_OVERRIDE_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.160">DATABLOCK_ENCODING_OVERRIDE_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.161">DATABLOCK_ENCODING_OVERRIDE_CONF_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.DATABLOCK_ENCODING_OVERRIDE_CONF_KEY">Constant Field Values</a></dd>
@@ -540,7 +540,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>LOCALITY_SENSITIVE_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.166">LOCALITY_SENSITIVE_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.167">LOCALITY_SENSITIVE_CONF_KEY</a></pre>
 <div class="block">Keep locality while generating HFiles for bulkload. See HBASE-12596</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -554,7 +554,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_LOCALITY_SENSITIVE</h4>
-<pre>private static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.168">DEFAULT_LOCALITY_SENSITIVE</a></pre>
+<pre>private static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.169">DEFAULT_LOCALITY_SENSITIVE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.DEFAULT_LOCALITY_SENSITIVE">Constant Field Values</a></dd>
@@ -567,7 +567,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>OUTPUT_TABLE_NAME_CONF_KEY</h4>
-<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.169">OUTPUT_TABLE_NAME_CONF_KEY</a></pre>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.170">OUTPUT_TABLE_NAME_CONF_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.OUTPUT_TABLE_NAME_CONF_KEY">Constant Field Values</a></dd>
@@ -580,7 +580,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY</h4>
-<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.171">MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY</a></pre>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.172">MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.MULTI_TABLE_HFILEOUTPUTFORMAT_CONF_KEY">Constant Field Values</a></dd>
@@ -593,7 +593,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>STORAGE_POLICY_PROPERTY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.174">STORAGE_POLICY_PROPERTY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.175">STORAGE_POLICY_PROPERTY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.STORAGE_POLICY_PROPERTY">Constant Field Values</a></dd>
@@ -606,7 +606,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>STORAGE_POLICY_PROPERTY_CF_PREFIX</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.175">STORAGE_POLICY_PROPERTY_CF_PREFIX</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.176">STORAGE_POLICY_PROPERTY_CF_PREFIX</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.STORAGE_POLICY_PROPERTY_CF_PREFIX">Constant Field Values</a></dd>
@@ -619,7 +619,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>compressionDetails</h4>
-<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.864">compressionDetails</a></pre>
+<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.871">compressionDetails</a></pre>
 <div class="block">Serialize column family to compression algorithm map to configuration.
  Invoked while configuring the MR job for incremental load.</div>
 </li>
@@ -630,7 +630,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>blockSizeDetails</h4>
-<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.880">blockSizeDetails</a></pre>
+<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.887">blockSizeDetails</a></pre>
 <div class="block">Serialize column family to block size map to configuration. Invoked while
  configuring the MR job for incremental load.</div>
 </li>
@@ -641,7 +641,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>bloomTypeDetails</h4>
-<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.896">bloomTypeDetails</a></pre>
+<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.903">bloomTypeDetails</a></pre>
 <div class="block">Serialize column family to bloom type map to configuration. Invoked while
  configuring the MR job for incremental load.</div>
 </li>
@@ -652,7 +652,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>dataBlockEncodingDetails</h4>
-<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.916">dataBlockEncodingDetails</a></pre>
+<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.923">dataBlockEncodingDetails</a></pre>
 <div class="block">Serialize column family to data block encoding map to configuration.
  Invoked while configuring the MR job for incremental load.</div>
 </li>
@@ -671,7 +671,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HFileOutputFormat2</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.106">HFileOutputFormat2</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.107">HFileOutputFormat2</a>()</pre>
 </li>
 </ul>
 </li>
@@ -688,7 +688,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>combineTableNameSuffix</h4>
-<pre>protected static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.139">combineTableNameSuffix</a>(byte[]&nbsp;tableName,
+<pre>protected static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.140">combineTableNameSuffix</a>(byte[]&nbsp;tableName,
                                                byte[]&nbsp;suffix)</pre>
 </li>
 </ul>
@@ -698,7 +698,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>getRecordWriter</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.178">getRecordWriter</a>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)
+<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.179">getRecordWriter</a>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)
                                                                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                                                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -716,7 +716,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableNameSuffixedWithFamily</h4>
-<pre>protected static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.183">getTableNameSuffixedWithFamily</a>(byte[]&nbsp;tableName,
+<pre>protected static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.184">getTableNameSuffixedWithFamily</a>(byte[]&nbsp;tableName,
                                                        byte[]&nbsp;family)</pre>
 </li>
 </ul>
@@ -726,7 +726,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>createRecordWriter</h4>
-<pre>static&nbsp;&lt;V extends <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,V&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.188">createRecordWriter</a>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context,
+<pre>static&nbsp;&lt;V extends <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;org.apache.hadoop.mapreduce.RecordWriter&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,V&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.189">createRecordWriter</a>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context,
                                                                                                               org.apache.hadoop.mapreduce.OutputCommitter&nbsp;committer)
                                                                                                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -741,7 +741,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>configureStoragePolicy</h4>
-<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.462">configureStoragePolicy</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.466">configureStoragePolicy</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                    org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                    byte[]&nbsp;tableAndFamily,
                                    org.apache.hadoop.fs.Path&nbsp;cfPath)</pre>
@@ -754,7 +754,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionStartKeys</h4>
-<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.486">getRegionStartKeys</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&gt;&nbsp;regionLocators,
+<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.490">getRegionStartKeys</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&gt;&nbsp;regionLocators,
                                                                boolean&nbsp;writeMultipleTables)
                                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Return the start keys of all of the regions in this table,
@@ -771,7 +771,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>writePartitions</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.518">writePartitions</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.522">writePartitions</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                     org.apache.hadoop.fs.Path&nbsp;partitionsPath,
                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&gt;&nbsp;startKeys,
                                     boolean&nbsp;writeMultipleTables)
@@ -790,7 +790,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>configureIncrementalLoad</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.571">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.575">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
                                             <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
                                             <a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;regionLocator)
                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -818,7 +818,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>configureIncrementalLoad</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.590">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.594">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
                                             <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor,
                                             <a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;regionLocator)
                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -846,7 +846,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>configureIncrementalLoad</h4>
-<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.597">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
+<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.601">configureIncrementalLoad</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.TableInfo.html" title="class in org.apache.hadoop.hbase.mapreduce">HFileOutputFormat2.TableInfo</a>&gt;&nbsp;multiTableInfo,
                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.hadoop.mapreduce.OutputFormat&lt;?,?&gt;&gt;&nbsp;cls)
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -862,7 +862,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>configureIncrementalLoadMap</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.671">configureIncrementalLoadMap</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.678">configureIncrementalLoadMap</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
                                                <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;tableDescriptor)
                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -877,7 +877,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>createFamilyCompressionMap</h4>
-<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.706">createFamilyCompressionMap</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/io/compress/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.compress">Compression.Algorithm</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.713">createFamilyCompressionMap</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Runs inside the task to deserialize column family to compression algorithm
  map from the configuration.</div>
 <dl>
@@ -894,7 +894,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>createFamilyBloomTypeMap</h4>
-<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver">BloomType</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.726">createFamilyBloomTypeMap</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver">BloomType</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.733">createFamilyBloomTypeMap</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Runs inside the task to deserialize column family to bloom filter type
  map from the configuration.</div>
 <dl>
@@ -911,7 +911,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>createFamilyBlockSizeMap</h4>
-<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.745">createFamilyBlockSizeMap</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.752">createFamilyBlockSizeMap</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Runs inside the task to deserialize column family to block size
  map from the configuration.</div>
 <dl>
@@ -928,7 +928,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>createFamilyDataBlockEncodingMap</h4>
-<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.765">createFamilyDataBlockEncodingMap</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.772">createFamilyDataBlockEncodingMap</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Runs inside the task to deserialize column family to data block encoding
  type map from the configuration.</div>
 <dl>
@@ -946,7 +946,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>createFamilyConfValueMap</h4>
-<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.784">createFamilyConfValueMap</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.791">createFamilyConfValueMap</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;confName)</pre>
 <div class="block">Run inside the task to deserialize column family to given conf value map.</div>
 <dl>
@@ -964,7 +964,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockList">
 <li class="blockList">
 <h4>configurePartitioner</h4>
-<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.808">configurePartitioner</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
+<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.815">configurePartitioner</a>(org.apache.hadoop.mapreduce.Job&nbsp;job,
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&gt;&nbsp;splitPoints,
                                  boolean&nbsp;writeMultipleTables)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -982,7 +982,7 @@ extends org.apache.hadoop.mapreduce.lib.output.FileOutputFormat&lt;<a href="../.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>serializeColumnFamilyAttribute</h4>
-<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.829">serializeColumnFamilyAttribute</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fn,
+<pre>static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#line.836">serializeColumnFamilyAttribute</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fn,
                                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;allTables)
                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/UnsupportedEncodingException.html?is-external=true" title="class or interface in java.io">UnsupportedEncodingException</a></pre>
 <dl>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html b/devapidocs/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
index 56d7d0e..55b6dd0 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html
@@ -136,7 +136,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2761">HMaster.MasterStoppedException</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2764">HMaster.MasterStoppedException</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -205,7 +205,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MasterStoppedException</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html#line.2762">MasterStoppedException</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.MasterStoppedException.html#line.2765">MasterStoppedException</a>()</pre>
 </li>
 </ul>
 </li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/ObserverContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/ObserverContext.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/ObserverContext.html
index 42b61c4..e69ef81 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/ObserverContext.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/class-use/ObserverContext.html
@@ -468,19 +468,30 @@
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <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;htd)</code>
-<div class="block">Called after to modifying a table's properties.</div>
+                              <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                              <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;oldDescriptor,
+                              <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block">Called after to modifying a table's properties.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;c,
                               <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfoA,
                               <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfoB)</code>
 <div class="block">Called after the region is split.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                 <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
@@ -488,21 +499,21 @@
  table.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                    <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
 <div class="block">Called after the createNamespace operation has been requested.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationEndpoint.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationEndpoint</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionServerObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerObserver.html#postCreateReplicationEndPoint-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.replication.ReplicationEndpoint-">postCreateReplicationEndPoint</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionServerCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                              <a href="../../../../../../org/apache/hadoop/hbase/replication/ReplicationEndpoint.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationEndpoint</a>&nbsp;endpoint)</code>
 <div class="block">This will be called after the replication endpoint is instantiated.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc,
@@ -510,7 +521,7 @@
 <div class="block">Called after the createTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers,
@@ -518,7 +529,7 @@
 <div class="block">Called after decommission region servers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postDelete-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Delete-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.hbase.client.Durability-">postDelete</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
           <a href="../../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete,
@@ -527,56 +538,56 @@
 <div class="block">Called after the client deletes a value.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace)</code>
 <div class="block">Called after the deleteNamespace operation has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                   <a href="../../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Called after the delete snapshot operation has been requested.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the deleteTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called after disable a replication peer</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the disableTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called after enable a replication peer</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the enableTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">EndpointObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/EndpointObserver.html#postEndpointInvocation-org.apache.hadoop.hbase.coprocessor.ObserverContext-com.google.protobuf.Service-java.lang.String-com.google.protobuf.Message-com.google.protobuf.Message.Builder-">postEndpointInvocation</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                       com.google.protobuf.Service&nbsp;service,
@@ -586,13 +597,13 @@
 <div class="block">Called after an Endpoint service method is invoked.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionServerObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerObserver.html#postExecuteProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postExecuteProcedures</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionServerCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">This will be called after executing procedures</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postExists-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Get-boolean-">postExists</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
           <a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
@@ -600,14 +611,14 @@
 <div class="block">Called after the client tests for existence using a Get.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker-">postFlush</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
          <a href="../../../../../../org/apache/hadoop/hbase/regionserver/FlushLifeCycleTracker.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushLifeCycleTracker</a>&nbsp;tracker)</code>
 <div class="block">Called after the memstore is flushed to disk.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.Store-org.apache.hadoop.hbase.regionserver.StoreFile-org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker-">postFlush</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
          <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
@@ -616,27 +627,27 @@
 <div class="block">Called after a Store's memstore is flushed to disk.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="../../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;status)</code>
 <div class="block">Called after get cluster status.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called after a getLocks request has been processed.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                           <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
 <div class="block">Called after a getNamespaceDescriptor request has been processed.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postGetOp-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Get-java.util.List-">postGetOp</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
          <a href="../../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
@@ -644,20 +655,20 @@
 <div class="block">Called after the client performs a Get</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetProcedures</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called after a getProcedures request has been processed.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called after get the configured ReplicationPeerConfig for the specified peer</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableNamesList,
@@ -666,7 +677,7 @@
 <div class="block">Called after a getTableDescriptors request has been processed.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;descriptors,
@@ -674,7 +685,7 @@
 <div class="block">Called after a getTableNames request has been processed.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default <a href="../../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postIncrement-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Increment-org.apache.hadoop.hbase.client.Result-">postIncrement</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
              <a href="../../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment,
@@ -682,7 +693,7 @@
 <div class="block">Called after increment</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default <a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postInstantiateDeleteTracker-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.querymatcher.DeleteTracker-">postInstantiateDeleteTracker</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker</a>&nbsp;delTracker)</code>
@@ -691,54 +702,54 @@
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called after list decommissioned region servers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;descriptors)</code>
 <div class="block">Called after a listNamespaceDescriptors request has been processed.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex)</code>
 <div class="block">Called after list replication peers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot)</code>
 <div class="block">Called after listSnapshots request has been processed.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called after heartbeat to a lock.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><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</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                       <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store)</code>
 <div class="block">Called after the in memory compaction is finished.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;c,
                 <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)</code>
 <div class="block">called after merge regions request.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge,
@@ -746,10 +757,20 @@
 <div class="block">This will be called after META step as part of regions merge transaction.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
-                   <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;ns)</code>
+                   <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+                   <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;oldNsDescriptor,
+                   <a href="../../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;currentNsDescriptor)</code>
 <div class="block">Called after the modifyNamespace operation has been requested.</div>
 </td>
 </tr>
@@ -757,12 +778,23 @@
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <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;htd)</code>
-<div class="block">Called after the modifyTable operation has been requested.</div>
+               <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
+<td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+               <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;oldDescriptor,
+               <a href="../../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;currentDescriptor)</code>
+<div class="block">Called after the modifyTable operation has been requested.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
         <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
         <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;srcServer,
@@ -770,7 +802,7 @@
 <div class="block">Called after the region move has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
@@ -778,7 +810,7 @@
 <div class="block">Called after servers are moved to target region server group</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers,
@@ -787,7 +819,7 @@
 <div class="block">Called after servers are moved to target region server group</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tables,
@@ -795,7 +827,7 @@
 <div class="block">Called after servers are moved to target region server group</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default <a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postMutationBeforeWAL-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType-org.apache.hadoop.hbase.client.Mutation-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">postMutationBeforeWAL</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a>&nbsp;opType,
@@ -806,13 +838,13 @@
  it is committed to the WAL or memstore.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postOpen-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postOpen</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c)</code>
 <div class="block">Called after the region is reported as open to the master.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postPut-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Put-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.hbase.client.Durability-">postPut</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
        <a href="../../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
@@ -821,7 +853,7 @@
 <div class="block">Called after the client stores a value.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;server,
@@ -829,35 +861,35 @@
 <div class="block">Called after recommission region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
 <div class="block">Called after the region has been marked offline.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;peerId)</code>
 <div class="block">Called after remove a replication peer</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Called after a region server group is removed</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/net/Address.html" title="class in org.apache.hadoop.hbase.net">Address</a>&gt;&nbsp;servers)</code>
 <div class="block">Called after servers are removed from rsgroup</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postReplayWALs-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.fs.Path-">postReplayWALs</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;? extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
@@ -865,7 +897,7 @@
 <div class="block">Called after replaying WALs for this region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionServerObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerObserver.html#postReplicateLogEntries-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postReplicateLogEntries</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionServerCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -874,7 +906,7 @@
 </div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">postRequestLock</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
@@ -884,7 +916,7 @@
 <div class="block">Called after new LockProcedure is queued.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                    <a href="../../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot,
@@ -892,33 +924,33 @@
 <div class="block">Called after a snapshot restore operation has been requested.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>[]&nbsp;regionsToMerge)</code>
 <div class="block">This will be called after the roll back of the regions merge.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">This will be called after the roll back of the split region is completed</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionServerObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerObserver.html#postRollWALWriterRequest-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollWALWriterRequest</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionServerCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">This will be called after executing user request to roll a region server WAL.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postScannerClose-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.InternalScanner-">postScannerClose</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="../../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;s)</code>
 <div class="block">Called after the client closes a scanner.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postScannerFilterRow-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.InternalScanner-org.apache.hadoop.hbase.Cell-boolean-">postScannerFilterRow</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                     <a href="../../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;s,
@@ -928,7 +960,7 @@
  filter.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postScannerNext-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.InternalScanner-java.util.List-int-boolean-">postScannerNext</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                <a href="../../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;s,
@@ -938,7 +970,7 @@
 <div class="block">Called after the client asks for the next row on a scanner.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default <a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postScannerOpen-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.regionserver.RegionScanner-">postScannerOpen</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                <a href="../../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
@@ -946,7 +978,7 @@
 <div class="block">Called after the client opens a new scanner.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
@@ -954,7 +986,7 @@
 <div class="block">Called after the quota for the namespace is stored.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">postSetSplitOrMergeEnabled</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                           boolean&nbsp;newValue,
@@ -962,7 +994,7 @@
 <div class="block">Called after setting split / merge switch</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -970,7 +1002,7 @@
 <div class="block">Called after the quota for the table is stored.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
@@ -978,7 +1010,7 @@
 <div class="block">Called after the quota for the user is stored.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
@@ -987,7 +1019,7 @@
 <div class="block">Called after the quota for the user on the specified namespace is stored.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName,
@@ -996,7 +1028,7 @@
 <div class="block">Called after the quota for the user on the specified table is stored.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
             <a href="../../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>&nbsp;snapshot,
@@ -1004,14 +1036,14 @@
 <div class="block">Called after the snapshot operation has been requested.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postStartMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postStartMaster</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx)</code>
 <div class="block">Called immediately after an active master instance has completed
  initialization.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postStartRegionOperation-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.Region.Operation-">postStartRegionOperation</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                         <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;operation)</code>
@@ -1019,7 +1051,7 @@
  <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation--"><code>Region.startRegionOperation()</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default <a href="../../../../../../org/apache/hadoop/hbase/regionserver/StoreFileReader.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileReader</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postStoreFileReaderOpen-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.io.FSDataInputStreamWrapper-long-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.hbase.io.Reference-org.apache.hadoop.hbase.regionserver.StoreFileReader-">postStoreFileReaderOpen</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                        org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -1034,21 +1066,21 @@
 </div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
               <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the table memstore is flushed to disk.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                  <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Called after the truncateTable operation has been requested.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
 <td class="colLast"><span class="typeNameLabel">MasterObserver.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterCopro

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
index 8b2674f..274eb54 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/MasterCoprocessorHost.html
@@ -262,1413 +262,1417 @@
 <span class="sourceLineNo">254</span>    });<a name="line.254"></a>
 <span class="sourceLineNo">255</span>  }<a name="line.255"></a>
 <span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>  public void preModifyNamespace(final NamespaceDescriptor ns) throws IOException {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      @Override<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      public void call(MasterObserver observer) throws IOException {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>        observer.preModifyNamespace(this, ns);<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    });<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  }<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  public void postModifyNamespace(final NamespaceDescriptor ns) throws IOException {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      @Override<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      public void call(MasterObserver observer) throws IOException {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        observer.postModifyNamespace(this, ns);<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>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  public void preGetNamespaceDescriptor(final String namespaceName)<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      throws IOException {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      @Override<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      public void call(MasterObserver observer) throws IOException {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        observer.preGetNamespaceDescriptor(this, namespaceName);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    });<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  }<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public void postGetNamespaceDescriptor(final NamespaceDescriptor ns)<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      throws IOException {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      public void call(MasterObserver observer) throws IOException {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        observer.postGetNamespaceDescriptor(this, ns);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    });<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  }<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>  public void preListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      throws IOException {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      @Override<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      public void call(MasterObserver observer) throws IOException {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        observer.preListNamespaceDescriptors(this, descriptors);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      }<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    });<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>  public void postListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      throws IOException {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      @Override<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      public void call(MasterObserver observer) throws IOException {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        observer.postListNamespaceDescriptors(this, descriptors);<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><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  /* Implementation of hooks for invoking MasterObservers */<a name="line.315"></a>
+<span class="sourceLineNo">257</span>  public void preModifyNamespace(final NamespaceDescriptor currentNsDescriptor,<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    final NamespaceDescriptor newNsDescriptor) throws IOException {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      @Override<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      public void call(MasterObserver observer) throws IOException {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        observer.preModifyNamespace(this, currentNsDescriptor, newNsDescriptor);<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      }<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    });<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  public void postModifyNamespace(final NamespaceDescriptor oldNsDescriptor,<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    final NamespaceDescriptor currentNsDescriptor) throws IOException {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      @Override<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      public void call(MasterObserver observer) throws IOException {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>        observer.postModifyNamespace(this, oldNsDescriptor, currentNsDescriptor);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      }<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    });<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  }<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>  public void preGetNamespaceDescriptor(final String namespaceName)<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      throws IOException {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      @Override<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      public void call(MasterObserver observer) throws IOException {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        observer.preGetNamespaceDescriptor(this, namespaceName);<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>  public void postGetNamespaceDescriptor(final NamespaceDescriptor ns)<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      throws IOException {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      @Override<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      public void call(MasterObserver observer) throws IOException {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>        observer.postGetNamespaceDescriptor(this, ns);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      }<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    });<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>  public void preListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.297"></a>
+<span class="sourceLineNo">298</span>      throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      @Override<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      public void call(MasterObserver observer) throws IOException {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>        observer.preListNamespaceDescriptors(this, descriptors);<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    });<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>  public void postListNamespaceDescriptors(final List&lt;NamespaceDescriptor&gt; descriptors)<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      throws IOException {<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      @Override<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      public void call(MasterObserver observer) throws IOException {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        observer.postListNamespaceDescriptors(this, descriptors);<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      }<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    });<a name="line.314"></a>
+<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
 <span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  public void preCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      throws IOException {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      @Override<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      public void call(MasterObserver observer) throws IOException {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        observer.preCreateTable(this, htd, regions);<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    });<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  }<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public void postCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      throws IOException {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      @Override<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      public void call(MasterObserver observer) throws IOException {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>        observer.postCreateTable(this, htd, regions);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      }<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    });<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  }<a name="line.335"></a>
-<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public void preCreateTableAction(final TableDescriptor htd, final RegionInfo[] regions,<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      final User user) throws IOException {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      public void call(MasterObserver observer) throws IOException {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>        observer.preCreateTableAction(this, htd, regions);<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>  }<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>  public void postCompletedCreateTableAction(<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      final TableDescriptor htd, final RegionInfo[] regions, final User user) throws IOException {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      public void call(MasterObserver observer) throws IOException {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>        observer.postCompletedCreateTableAction(this, htd, regions);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    });<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  }<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>  public void preDeleteTable(final TableName tableName) throws IOException {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      @Override<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      public void call(MasterObserver observer) throws IOException {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        observer.preDeleteTable(this, tableName);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    });<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
-<span class="sourceLineNo">365</span><a name="line.365"></a>
-<span class="sourceLineNo">366</span>  public void postDeleteTable(final TableName tableName) throws IOException {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      @Override<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      public void call(MasterObserver observer) throws IOException {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        observer.postDeleteTable(this, tableName);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      }<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    });<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  public void preDeleteTableAction(final TableName tableName, final User user) throws IOException {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      @Override<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      public void call(MasterObserver observer) throws IOException {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>        observer.preDeleteTableAction(this, tableName);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    });<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  public void postCompletedDeleteTableAction(final TableName tableName, final User user)<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      throws IOException {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      @Override<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      public void call(MasterObserver observer) throws IOException {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>        observer.postCompletedDeleteTableAction(this, tableName);<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>  public void preTruncateTable(final TableName tableName) throws IOException {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      @Override<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      public void call(MasterObserver observer) throws IOException {<a name="line.397"></a>
-<span class="sourceLineNo">398</span>        observer.preTruncateTable(this, tableName);<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      }<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    });<a name="line.400"></a>
-<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
-<span class="sourceLineNo">402</span><a name="line.402"></a>
-<span class="sourceLineNo">403</span>  public void postTruncateTable(final TableName tableName) throws IOException {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      @Override<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      public void call(MasterObserver observer) throws IOException {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        observer.postTruncateTable(this, tableName);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      }<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    });<a name="line.409"></a>
-<span class="sourceLineNo">410</span>  }<a name="line.410"></a>
-<span class="sourceLineNo">411</span><a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public void preTruncateTableAction(final TableName tableName, final User user)<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      throws IOException {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      @Override<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      public void call(MasterObserver observer) throws IOException {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        observer.preTruncateTableAction(this, tableName);<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      }<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    });<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  public void postCompletedTruncateTableAction(final TableName tableName, final User user)<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      throws IOException {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      @Override<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      public void call(MasterObserver observer) throws IOException {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        observer.postCompletedTruncateTableAction(this, tableName);<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      }<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    });<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public void preModifyTable(final TableName tableName, final TableDescriptor htd)<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      throws IOException {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      @Override<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      public void call(MasterObserver observer) throws IOException {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        observer.preModifyTable(this, tableName, htd);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    });<a name="line.439"></a>
-<span class="sourceLineNo">440</span>  }<a name="line.440"></a>
-<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public void postModifyTable(final TableName tableName, final TableDescriptor htd)<a name="line.442"></a>
-<span class="sourceLineNo">443</span>      throws IOException {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      @Override<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      public void call(MasterObserver observer) throws IOException {<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        observer.postModifyTable(this, tableName, htd);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      }<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    });<a name="line.449"></a>
-<span class="sourceLineNo">450</span>  }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public void preModifyTableAction(final TableName tableName, final TableDescriptor htd,<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      final User user) throws IOException {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      @Override<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      public void call(MasterObserver observer) throws IOException {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        observer.preModifyTableAction(this, tableName, htd);<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>  }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span>  public void postCompletedModifyTableAction(final TableName tableName, final TableDescriptor htd,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>      final User user) throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>      @Override<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      public void call(MasterObserver observer) throws IOException {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>        observer.postCompletedModifyTableAction(this, tableName, htd);<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      }<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    });<a name="line.469"></a>
-<span class="sourceLineNo">470</span>  }<a name="line.470"></a>
-<span class="sourceLineNo">471</span><a name="line.471"></a>
-<span class="sourceLineNo">472</span>  public void preEnableTable(final TableName tableName) throws IOException {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      @Override<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      public void call(MasterObserver observer) throws IOException {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        observer.preEnableTable(this, tableName);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      }<a name="line.477"></a>
-<span class="sourceLineNo">478</span>    });<a name="line.478"></a>
-<span class="sourceLineNo">479</span>  }<a name="line.479"></a>
-<span class="sourceLineNo">480</span><a name="line.480"></a>
-<span class="sourceLineNo">481</span>  public void postEnableTable(final TableName tableName) throws IOException {<a name="line.481"></a>
-<span class="sourceLineNo">482</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      @Override<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      public void call(MasterObserver observer) throws IOException {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>        observer.postEnableTable(this, tableName);<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>  public void preEnableTableAction(final TableName tableName, final User user) throws IOException {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      @Override<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      public void call(MasterObserver observer) throws IOException {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        observer.preEnableTableAction(this, tableName);<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    });<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  }<a name="line.497"></a>
-<span class="sourceLineNo">498</span><a name="line.498"></a>
-<span class="sourceLineNo">499</span>  public void postCompletedEnableTableAction(final TableName tableName, final User user)<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      throws IOException {<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      @Override<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      public void call(MasterObserver observer) throws IOException {<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        observer.postCompletedEnableTableAction(this, tableName);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      }<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    });<a name="line.506"></a>
-<span class="sourceLineNo">507</span>  }<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>  public void preDisableTable(final TableName tableName) throws IOException {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      @Override<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      public void call(MasterObserver observer) throws IOException {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        observer.preDisableTable(this, tableName);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    });<a name="line.515"></a>
-<span class="sourceLineNo">516</span>  }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>  public void postDisableTable(final TableName tableName) throws IOException {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      @Override<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      public void call(MasterObserver observer) throws IOException {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>        observer.postDisableTable(this, tableName);<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      }<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    });<a name="line.524"></a>
-<span class="sourceLineNo">525</span>  }<a name="line.525"></a>
-<span class="sourceLineNo">526</span><a name="line.526"></a>
-<span class="sourceLineNo">527</span>  public void preDisableTableAction(final TableName tableName, final User user) throws IOException {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      public void call(MasterObserver observer) throws IOException {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        observer.preDisableTableAction(this, tableName);<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 name="line.535"></a>
-<span class="sourceLineNo">536</span>  public void postCompletedDisableTableAction(final TableName tableName, final User user)<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      throws IOException {<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>      @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>      public void call(MasterObserver observer) throws IOException {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>        observer.postCompletedDisableTableAction(this, tableName);<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><a name="line.545"></a>
-<span class="sourceLineNo">546</span>  public void preAbortProcedure(<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      final ProcedureExecutor&lt;MasterProcedureEnv&gt; procEnv,<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      final long procId) throws IOException {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      @Override<a name="line.550"></a>
-<span class="sourceLineNo">551</span>      public void call(MasterObserver observer) throws IOException {<a name="line.551"></a>
-<span class="sourceLineNo">552</span>        observer.preAbortProcedure(this,  procId);<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>  public void postAbortProcedure() throws IOException {<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.558"></a>
-<span class="sourceLineNo">559</span>      @Override<a name="line.559"></a>
-<span class="sourceLineNo">560</span>      public void call(MasterObserver observer) throws IOException {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>        observer.postAbortProcedure(this);<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      }<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    });<a name="line.563"></a>
-<span class="sourceLineNo">564</span>  }<a name="line.564"></a>
-<span class="sourceLineNo">565</span><a name="line.565"></a>
-<span class="sourceLineNo">566</span>  public void preGetProcedures() throws IOException {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      @Override<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      public void call(MasterObserver observer) throws IOException {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>        observer.preGetProcedures(this);<a name="line.570"></a>
-<span class="sourceLineNo">571</span>      }<a name="line.571"></a>
-<span class="sourceLineNo">572</span>    });<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  }<a name="line.573"></a>
-<span class="sourceLineNo">574</span><a name="line.574"></a>
-<span class="sourceLineNo">575</span>  public void postGetProcedures(final List&lt;Procedure&lt;?&gt;&gt; procInfoList) throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      @Override<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      public void call(MasterObserver observer) throws IOException {<a name="line.578"></a>
-<span class="sourceLineNo">579</span>        observer.postGetProcedures(this);<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>  public void preGetLocks() throws IOException {<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      @Override<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      public void call(MasterObserver observer) throws IOException {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        observer.preGetLocks(this);<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>    });<a name="line.590"></a>
-<span class="sourceLineNo">591</span>  }<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span>  public void postGetLocks(final List&lt;LockedResource&gt; lockedResources) throws IOException {<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>      @Override<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      public void call(MasterObserver observer) throws IOException {<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        observer.postGetLocks(this);<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      }<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    });<a name="line.599"></a>
-<span class="sourceLineNo">600</span>  }<a name="line.600"></a>
-<span class="sourceLineNo">601</span><a name="line.601"></a>
-<span class="sourceLineNo">602</span>  public void preMove(final RegionInfo region, final ServerName srcServer,<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      final ServerName destServer) throws IOException {<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.604"></a>
-<span class="sourceLineNo">605</span>      @Override<a name="line.605"></a>
-<span class="sourceLineNo">606</span>      public void call(MasterObserver observer) throws IOException {<a name="line.606"></a>
-<span class="sourceLineNo">607</span>        observer.preMove(this, region, srcServer, destServer);<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      }<a name="line.608"></a>
-<span class="sourceLineNo">609</span>    });<a name="line.609"></a>
-<span class="sourceLineNo">610</span>  }<a name="line.610"></a>
-<span class="sourceLineNo">611</span><a name="line.611"></a>
-<span class="sourceLineNo">612</span>  public void postMove(final RegionInfo region, final ServerName srcServer,<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      final ServerName destServer) throws IOException {<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      @Override<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      public void call(MasterObserver observer) throws IOException {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>        observer.postMove(this, region, srcServer, destServer);<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>  }<a name="line.620"></a>
-<span class="sourceLineNo">621</span><a name="line.621"></a>
-<span class="sourceLineNo">622</span>  public void preAssign(final RegionInfo regionInfo) throws IOException {<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      @Override<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      public void call(MasterObserver observer) throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>        observer.preAssign(this, regionInfo);<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>  public void postAssign(final RegionInfo regionInfo) throws IOException {<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.632"></a>
-<span class="sourceLineNo">633</span>      @Override<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      public void call(MasterObserver observer) throws IOException {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>        observer.postAssign(this, regionInfo);<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>  }<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>  public void preUnassign(final RegionInfo regionInfo, final boolean force)<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      throws IOException {<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      @Override<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      public void call(MasterObserver observer) throws IOException {<a name="line.644"></a>
-<span class="sourceLineNo">645</span>        observer.preUnassign(this, regionInfo, force);<a name="line.645"></a>
-<span class="sourceLineNo">646</span>      }<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    });<a name="line.647"></a>
-<span class="sourceLineNo">648</span>  }<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span>  public void postUnassign(final RegionInfo regionInfo, final boolean force) throws IOException {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      @Override<a name="line.652"></a>
-<span class="sourceLineNo">653</span>      public void call(MasterObserver observer) throws IOException {<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        observer.postUnassign(this, regionInfo, force);<a name="line.654"></a>
-<span class="sourceLineNo">655</span>      }<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    });<a name="line.656"></a>
-<span class="sourceLineNo">657</span>  }<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>  public void preRegionOffline(final RegionInfo regionInfo) throws IOException {<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      @Override<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      public void call(MasterObserver observer) throws IOException {<a name="line.662"></a>
-<span class="sourceLineNo">663</span>        observer.preRegionOffline(this, regionInfo);<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      }<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    });<a name="line.665"></a>
-<span class="sourceLineNo">666</span>  }<a name="line.666"></a>
-<span class="sourceLineNo">667</span><a name="line.667"></a>
-<span class="sourceLineNo">668</span>  public void postRegionOffline(final RegionInfo regionInfo) throws IOException {<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      @Override<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      public void call(MasterObserver observer) throws IOException {<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        observer.postRegionOffline(this, regionInfo);<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      }<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    });<a name="line.674"></a>
-<span class="sourceLineNo">675</span>  }<a name="line.675"></a>
-<span class="sourceLineNo">676</span><a name="line.676"></a>
-<span class="sourceLineNo">677</span>  public void preMergeRegions(final RegionInfo[] regionsToMerge)<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      throws IOException {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      @Override<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      public void call(MasterObserver observer) throws IOException {<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        observer.preMergeRegions(this, regionsToMerge);<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>  }<a name="line.685"></a>
-<span class="sourceLineNo">686</span><a name="line.686"></a>
-<span class="sourceLineNo">687</span>  public void postMergeRegions(final RegionInfo[] regionsToMerge)<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      throws IOException {<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      @Override<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      public void call(MasterObserver observer) throws IOException {<a name="line.691"></a>
-<span class="sourceLineNo">692</span>        observer.postMergeRegions(this, regionsToMerge);<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><a name="line.696"></a>
-<span class="sourceLineNo">697</span>  public boolean preBalance() throws IOException {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>    return execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      @Override<a name="line.699"></a>
-<span class="sourceLineNo">700</span>      public void call(MasterObserver observer) throws IOException {<a name="line.700"></a>
-<span class="sourceLineNo">701</span>        observer.preBalance(this);<a name="line.701"></a>
-<span class="sourceLineNo">702</span>      }<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    });<a name="line.703"></a>
-<span class="sourceLineNo">704</span>  }<a name="line.704"></a>
-<span class="sourceLineNo">705</span><a name="line.705"></a>
-<span class="sourceLineNo">706</span>  public void postBalance(final List&lt;RegionPlan&gt; plans) throws IOException {<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      @Override<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      public void call(MasterObserver observer) throws IOException {<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        observer.postBalance(this, plans);<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      }<a name="line.711"></a>
-<span class="sourceLineNo">712</span>    });<a name="line.712"></a>
-<span class="sourceLineNo">713</span>  }<a name="line.713"></a>
-<span class="sourceLineNo">714</span><a name="line.714"></a>
-<span class="sourceLineNo">715</span>  public void preSetSplitOrMergeEnabled(final boolean newValue,<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      final MasterSwitchType switchType) throws IOException {<a name="line.716"></a>
-<span class="sourceLineNo">717</span>    execOperation(coprocEnvironments.isEmpty()? null: new MasterObserverOperation() {<a name="line.717"></a>
-<span class="sourceLineNo">718</span>      @Override<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      public void call(MasterObserver observer) throws IOException {<a name="line.719"></a>
-<span class="sourceLineNo">720</span>        observer.preSetSplitOrMergeEnabled(this, newValue, switchType);<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      }<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    });<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  }<a name="line.723"></a>
-<span class="sourceLineNo">724</span><a name="line.724"></a>
-<span class="sourceLineNo">725</span>  public void postSetSplitOrMergeEnabled(final boolean newValue,<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      final MasterSwitchType switchType) throws IOException {<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      @Override<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      public void call(MasterObserver observer) throws IOException {<a name="line.729"></a>
-<span class="sourceLineNo">730</span>        observer.postSetSplitOrMergeEnabled(this, newValue, switchType);<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      }<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    });<a name="line.732"></a>
-<span class="sourceLineNo">733</span>  }<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>   * Invoked just before calling the split region procedure<a name="line.736"></a>
-<span class="sourceLineNo">737</span>   * @param tableName the table where the region belongs to<a name="line.737"></a>
-<span class="sourceLineNo">738</span>   * @param splitRow the split point<a name="line.738"></a>
-<span class="sourceLineNo">739</span>   * @throws IOException<a name="line.739"></a>
-<span class="sourceLineNo">740</span>   */<a name="line.740"></a>
-<span class="sourceLineNo">741</span>  public void preSplitRegion(<a name="line.741"></a>
-<span class="sourceLineNo">742</span>      final TableName tableName,<a name="line.742"></a>
-<span class="sourceLineNo">743</span>      final byte[] splitRow) throws IOException {<a name="line.743"></a>
-<span class="sourceLineNo">744</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      @Override<a name="line.745"></a>
-<span class="sourceLineNo">746</span>      public void call(MasterObserver observer) throws IOException {<a name="line.746"></a>
-<span class="sourceLineNo">747</span>        observer.preSplitRegion(this, tableName, splitRow);<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>  }<a name="line.750"></a>
-<span class="sourceLineNo">751</span><a name="line.751"></a>
-<span class="sourceLineNo">752</span>  /**<a name="line.752"></a>
-<span class="sourceLineNo">753</span>   * Invoked just before a split<a name="line.753"></a>
-<span class="sourceLineNo">754</span>   * @param tableName the table where the region belongs to<a name="line.754"></a>
-<span class="sourceLineNo">755</span>   * @param splitRow the split point<a name="line.755"></a>
-<span class="sourceLineNo">756</span>   * @param user the user<a name="line.756"></a>
-<span class="sourceLineNo">757</span>   * @throws IOException<a name="line.757"></a>
-<span class="sourceLineNo">758</span>   */<a name="line.758"></a>
-<span class="sourceLineNo">759</span>  public void preSplitRegionAction(<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      final TableName tableName,<a name="line.760"></a>
-<span class="sourceLineNo">761</span>      final byte[] splitRow,<a name="line.761"></a>
-<span class="sourceLineNo">762</span>      final User user) throws IOException {<a name="line.762"></a>
-<span class="sourceLineNo">763</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.763"></a>
-<span class="sourceLineNo">764</span>      @Override<a name="line.764"></a>
-<span class="sourceLineNo">765</span>      public void call(MasterObserver observer) throws IOException {<a name="line.765"></a>
-<span class="sourceLineNo">766</span>        observer.preSplitRegionAction(this, tableName, splitRow);<a name="line.766"></a>
-<span class="sourceLineNo">767</span>      }<a name="line.767"></a>
-<span class="sourceLineNo">768</span>    });<a name="line.768"></a>
-<span class="sourceLineNo">769</span>  }<a name="line.769"></a>
-<span class="sourceLineNo">770</span><a name="line.770"></a>
-<span class="sourceLineNo">771</span>  /**<a name="line.771"></a>
-<span class="sourceLineNo">772</span>   * Invoked just after a split<a name="line.772"></a>
-<span class="sourceLineNo">773</span>   * @param regionInfoA the new left-hand daughter region<a name="line.773"></a>
-<span class="sourceLineNo">774</span>   * @param regionInfoB the new right-hand daughter region<a name="line.774"></a>
-<span class="sourceLineNo">775</span>   * @param user the user<a name="line.775"></a>
-<span class="sourceLineNo">776</span>   * @throws IOException<a name="line.776"></a>
-<span class="sourceLineNo">777</span>   */<a name="line.777"></a>
-<span class="sourceLineNo">778</span>  public void postCompletedSplitRegionAction(<a name="line.778"></a>
-<span class="sourceLineNo">779</span>      final RegionInfo regionInfoA,<a name="line.779"></a>
-<span class="sourceLineNo">780</span>      final RegionInfo regionInfoB,<a name="line.780"></a>
-<span class="sourceLineNo">781</span>      final User user) throws IOException {<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.782"></a>
-<span class="sourceLineNo">783</span>      @Override<a name="line.783"></a>
-<span class="sourceLineNo">784</span>      public void call(MasterObserver observer) throws IOException {<a name="line.784"></a>
-<span class="sourceLineNo">785</span>        observer.postCompletedSplitRegionAction(this, regionInfoA, regionInfoB);<a name="line.785"></a>
-<span class="sourceLineNo">786</span>      }<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    });<a name="line.787"></a>
-<span class="sourceLineNo">788</span>  }<a name="line.788"></a>
-<span class="sourceLineNo">789</span><a name="line.789"></a>
-<span class="sourceLineNo">790</span>  /**<a name="line.790"></a>
-<span class="sourceLineNo">791</span>   * This will be called before update META step as part of split table region procedure.<a name="line.791"></a>
-<span class="sourceLineNo">792</span>   * @param splitKey<a name="line.792"></a>
-<span class="sourceLineNo">793</span>   * @param metaEntries<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * @param user the user<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   * @throws IOException<a name="line.795"></a>
-<span class="sourceLineNo">796</span>   */<a name="line.796"></a>
-<span class="sourceLineNo">797</span>  public void preSplitBeforeMETAAction(<a name="line.797"></a>
-<span class="sourceLineNo">798</span>      final byte[] splitKey,<a name="line.798"></a>
-<span class="sourceLineNo">799</span>      final List&lt;Mutation&gt; metaEntries,<a name="line.799"></a>
-<span class="sourceLineNo">800</span>      final User user) throws IOException {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.801"></a>
-<span class="sourceLineNo">802</span>      @Override<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      public void call(MasterObserver observer) throws IOException {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        observer.preSplitRegionBeforeMETAAction(this, splitKey, metaEntries);<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      }<a name="line.805"></a>
-<span class="sourceLineNo">806</span>    });<a name="line.806"></a>
-<span class="sourceLineNo">807</span>  }<a name="line.807"></a>
-<span class="sourceLineNo">808</span><a name="line.808"></a>
-<span class="sourceLineNo">809</span>  /**<a name="line.809"></a>
-<span class="sourceLineNo">810</span>   * This will be called after update META step as part of split table region procedure.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>   * @param user the user<a name="line.811"></a>
-<span class="sourceLineNo">812</span>   * @throws IOException<a name="line.812"></a>
-<span class="sourceLineNo">813</span>   */<a name="line.813"></a>
-<span class="sourceLineNo">814</span>  public void preSplitAfterMETAAction(final User user) throws IOException {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.815"></a>
-<span class="sourceLineNo">816</span>      @Override<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      public void call(MasterObserver observer) throws IOException {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        observer.preSplitRegionAfterMETAAction(this);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>      }<a name="line.819"></a>
-<span class="sourceLineNo">820</span>    });<a name="line.820"></a>
-<span class="sourceLineNo">821</span>  }<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>  /**<a name="line.823"></a>
-<span class="sourceLineNo">824</span>   * Invoked just after the rollback of a failed split<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   * @param user the user<a name="line.825"></a>
-<span class="sourceLineNo">826</span>   * @throws IOException<a name="line.826"></a>
-<span class="sourceLineNo">827</span>   */<a name="line.827"></a>
-<span class="sourceLineNo">828</span>  public void postRollBackSplitRegionAction(final User user) throws IOException {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.829"></a>
-<span class="sourceLineNo">830</span>      @Override<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      public void call(MasterObserver observer) throws IOException {<a name="line.831"></a>
-<span class="sourceLineNo">832</span>        observer.postRollBackSplitRegionAction(this);<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      }<a name="line.833"></a>
-<span class="sourceLineNo">834</span>    });<a name="line.834"></a>
-<span class="sourceLineNo">835</span>  }<a name="line.835"></a>
-<span class="sourceLineNo">836</span><a name="line.836"></a>
-<span class="sourceLineNo">837</span>  /**<a name="line.837"></a>
-<span class="sourceLineNo">838</span>   * Invoked just before a merge<a name="line.838"></a>
-<span class="sourceLineNo">839</span>   * @param regionsToMerge the regions to merge<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * @param user the user<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * @throws IOException<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public void preMergeRegionsAction(<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      final RegionInfo[] regionsToMerge, final User user) throws IOException {<a name="line.844"></a>
-<span class="sourceLineNo">845</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>      @Override<a name="line.846"></a>
-<span class="sourceLineNo">847</span>      public void call(MasterObserver observer) throws IOException {<a name="line.847"></a>
-<span class="sourceLineNo">848</span>        observer.preMergeRegionsAction(this, regionsToMerge);<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      }<a name="line.849"></a>
-<span class="sourceLineNo">850</span>    });<a name="line.850"></a>
-<span class="sourceLineNo">851</span>  }<a name="line.851"></a>
-<span class="sourceLineNo">852</span><a name="line.852"></a>
-<span class="sourceLineNo">853</span>  /**<a name="line.853"></a>
-<span class="sourceLineNo">854</span>   * Invoked after completing merge regions operation<a name="line.854"></a>
-<span class="sourceLineNo">855</span>   * @param regionsToMerge the regions to merge<a name="line.855"></a>
-<span class="sourceLineNo">856</span>   * @param mergedRegion the new merged region<a name="line.856"></a>
-<span class="sourceLineNo">857</span>   * @param user the user<a name="line.857"></a>
-<span class="sourceLineNo">858</span>   * @throws IOException<a name="line.858"></a>
-<span class="sourceLineNo">859</span>   */<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  public void postCompletedMergeRegionsAction(<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      final RegionInfo[] regionsToMerge,<a name="line.861"></a>
-<span class="sourceLineNo">862</span>      final RegionInfo mergedRegion,<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      final User user) throws IOException {<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      @Override<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      public void call(MasterObserver observer) throws IOException {<a name="line.866"></a>
-<span class="sourceLineNo">867</span>        observer.postCompletedMergeRegionsAction(this, regionsToMerge, mergedRegion);<a name="line.867"></a>
-<span class="sourceLineNo">868</span>      }<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    });<a name="line.869"></a>
-<span class="sourceLineNo">870</span>  }<a name="line.870"></a>
-<span class="sourceLineNo">871</span><a name="line.871"></a>
-<span class="sourceLineNo">872</span>  /**<a name="line.872"></a>
-<span class="sourceLineNo">873</span>   * Invoked before merge regions operation writes the new region to hbase:meta<a name="line.873"></a>
-<span class="sourceLineNo">874</span>   * @param regionsToMerge the regions to merge<a name="line.874"></a>
-<span class="sourceLineNo">875</span>   * @param metaEntries the meta entry<a name="line.875"></a>
-<span class="sourceLineNo">876</span>   * @param user the user<a name="line.876"></a>
-<span class="sourceLineNo">877</span>   * @throws IOException<a name="line.877"></a>
-<span class="sourceLineNo">878</span>   */<a name="line.878"></a>
-<span class="sourceLineNo">879</span>  public void preMergeRegionsCommit(<a name="line.879"></a>
-<span class="sourceLineNo">880</span>      final RegionInfo[] regionsToMerge,<a name="line.880"></a>
-<span class="sourceLineNo">881</span>      final @MetaMutationAnnotation List&lt;Mutation&gt; metaEntries,<a name="line.881"></a>
-<span class="sourceLineNo">882</span>      final User user) throws IOException {<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      @Override<a name="line.884"></a>
-<span class="sourceLineNo">885</span>      public void call(MasterObserver observer) throws IOException {<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        observer.preMergeRegionsCommitAction(this, regionsToMerge, metaEntries);<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      }<a name="line.887"></a>
-<span class="sourceLineNo">888</span>    });<a name="line.888"></a>
-<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
-<span class="sourceLineNo">890</span><a name="line.890"></a>
-<span class="sourceLineNo">891</span>  /**<a name="line.891"></a>
-<span class="sourceLineNo">892</span>   * Invoked after merge regions operation writes the new region to hbase:meta<a name="line.892"></a>
-<span class="sourceLineNo">893</span>   * @param regionsToMerge the regions to merge<a name="line.893"></a>
-<span class="sourceLineNo">894</span>   * @param mergedRegion the new merged region<a name="line.894"></a>
-<span class="sourceLineNo">895</span>   * @param user the user<a name="line.895"></a>
-<span class="sourceLineNo">896</span>   * @throws IOException<a name="line.896"></a>
-<span class="sourceLineNo">897</span>   */<a name="line.897"></a>
-<span class="sourceLineNo">898</span>  public void postMergeRegionsCommit(<a name="line.898"></a>
-<span class="sourceLineNo">899</span>      final RegionInfo[] regionsToMerge,<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      final RegionInfo mergedRegion,<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      final User user) throws IOException {<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.902"></a>
-<span class="sourceLineNo">903</span>      @Override<a name="line.903"></a>
-<span class="sourceLineNo">904</span>      public void call(MasterObserver observer) throws IOException {<a name="line.904"></a>
-<span class="sourceLineNo">905</span>        observer.postMergeRegionsCommitAction(this, regionsToMerge, mergedRegion);<a name="line.905"></a>
-<span class="sourceLineNo">906</span>      }<a name="line.906"></a>
-<span class="sourceLineNo">907</span>    });<a name="line.907"></a>
-<span class="sourceLineNo">908</span>  }<a name="line.908"></a>
-<span class="sourceLineNo">909</span><a name="line.909"></a>
-<span class="sourceLineNo">910</span>  /**<a name="line.910"></a>
-<span class="sourceLineNo">911</span>   * Invoked after rollback merge regions operation<a name="line.911"></a>
-<span class="sourceLineNo">912</span>   * @param regionsToMerge the regions to merge<a name="line.912"></a>
-<span class="sourceLineNo">913</span>   * @param user the user<a name="line.913"></a>
-<span class="sourceLineNo">914</span>   * @throws IOException<a name="line.914"></a>
-<span class="sourceLineNo">915</span>   */<a name="line.915"></a>
-<span class="sourceLineNo">916</span>  public void postRollBackMergeRegionsAction(<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      final RegionInfo[] regionsToMerge, final User user) throws IOException {<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.918"></a>
-<span class="sourceLineNo">919</span>      @Override<a name="line.919"></a>
-<span class="sourceLineNo">920</span>      public void call(MasterObserver observer) throws IOException {<a name="line.920"></a>
-<span class="sourceLineNo">921</span>        observer.postRollBackMergeRegionsAction(this, regionsToMerge);<a name="line.921"></a>
-<span class="sourceLineNo">922</span>      }<a name="line.922"></a>
-<span class="sourceLineNo">923</span>    });<a name="line.923"></a>
-<span class="sourceLineNo">924</span>  }<a name="line.924"></a>
-<span class="sourceLineNo">925</span><a name="line.925"></a>
-<span class="sourceLineNo">926</span>  // This hook allows Coprocessor change value of balance switch.<a name="line.926"></a>
-<span class="sourceLineNo">927</span>  public void preBalanceSwitch(final boolean b) throws IOException {<a name="line.927"></a>
-<span class="sourceLineNo">928</span>    if (this.coprocEnvironments.isEmpty()) {<a name="line.928"></a>
-<span class="sourceLineNo">929</span>      return;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    }<a name="line.930"></a>
-<span class="sourceLineNo">931</span>    execOperation(new MasterObserverOperation() {<a name="line.931"></a>
-<span class="sourceLineNo">932</span>      @Override<a name="line.932"></a>
-<span class="sourceLineNo">933</span>      public void call(MasterObserver observer) throws IOException {<a name="line.933"></a>
-<span class="sourceLineNo">934</span>        observer.preBalanceSwitch(this, b);<a name="line.934"></a>
-<span class="sourceLineNo">935</span>      }<a name="line.935"></a>
-<span class="sourceLineNo">936</span>    });<a name="line.936"></a>
-<span class="sourceLineNo">937</span>  }<a name="line.937"></a>
-<span class="sourceLineNo">938</span><a name="line.938"></a>
-<span class="sourceLineNo">939</span>  public void postBalanceSwitch(final boolean oldValue, final boolean newValue)<a name="line.939"></a>
-<span class="sourceLineNo">940</span>      throws IOException {<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.941"></a>
-<span class="sourceLineNo">942</span>      @Override<a name="line.942"></a>
-<span class="sourceLineNo">943</span>      public void call(MasterObserver observer) throws IOException {<a name="line.943"></a>
-<span class="sourceLineNo">944</span>        observer.postBalanceSwitch(this, oldValue, newValue);<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      }<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    });<a name="line.946"></a>
-<span class="sourceLineNo">947</span>  }<a name="line.947"></a>
-<span class="sourceLineNo">948</span><a name="line.948"></a>
-<span class="sourceLineNo">949</span>  public void preShutdown() throws IOException {<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    // While stopping the cluster all coprocessors method should be executed first then the<a name="line.950"></a>
-<span class="sourceLineNo">951</span>    // coprocessor should be cleaned up.<a name="line.951"></a>
-<span class="sourceLineNo">952</span>    if (coprocEnvironments.isEmpty()) {<a name="line.952"></a>
-<span class="sourceLineNo">953</span>      return;<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    }<a name="line.954"></a>
-<span class="sourceLineNo">955</span>    execShutdown(new MasterObserverOperation() {<a name="line.955"></a>
-<span class="sourceLineNo">956</span>      @Override<a name="line.956"></a>
-<span class="sourceLineNo">957</span>      public void call(MasterObserver observer) throws IOException {<a name="line.957"></a>
-<span class="sourceLineNo">958</span>        observer.preShutdown(this);<a name="line.958"></a>
-<span class="sourceLineNo">959</span>      }<a name="line.959"></a>
+<span class="sourceLineNo">317</span>  /* Implementation of hooks for invoking MasterObservers */<a name="line.317"></a>
+<span class="sourceLineNo">318</span><a name="line.318"></a>
+<span class="sourceLineNo">319</span>  public void preCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      throws IOException {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      @Override<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      public void call(MasterObserver observer) throws IOException {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        observer.preCreateTable(this, htd, regions);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      }<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    });<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  public void postCreateTable(final TableDescriptor htd, final RegionInfo[] regions)<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      throws IOException {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      public void call(MasterObserver observer) throws IOException {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>        observer.postCreateTable(this, htd, regions);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    });<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  }<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  public void preCreateTableAction(final TableDescriptor htd, final RegionInfo[] regions,<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      final User user) throws IOException {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>      @Override<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      public void call(MasterObserver observer) throws IOException {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        observer.preCreateTableAction(this, htd, regions);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      }<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    });<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  }<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>  public void postCompletedCreateTableAction(<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      final TableDescriptor htd, final RegionInfo[] regions, final User user) throws IOException {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      @Override<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      public void call(MasterObserver observer) throws IOException {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        observer.postCompletedCreateTableAction(this, htd, regions);<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      }<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    });<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  public void preDeleteTable(final TableName tableName) throws IOException {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      @Override<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      public void call(MasterObserver observer) throws IOException {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>        observer.preDeleteTable(this, tableName);<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><a name="line.367"></a>
+<span class="sourceLineNo">368</span>  public void postDeleteTable(final TableName tableName) throws IOException {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      @Override<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      public void call(MasterObserver observer) throws IOException {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>        observer.postDeleteTable(this, tableName);<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      }<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    });<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span>  public void preDeleteTableAction(final TableName tableName, final User user) throws IOException {<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>      @Override<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      public void call(MasterObserver observer) throws IOException {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>        observer.preDeleteTableAction(this, tableName);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    });<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  public void postCompletedDeleteTableAction(final TableName tableName, final User user)<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      throws IOException {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      @Override<a name="line.389"></a>
+<span class="sourceLineNo">390</span>      public void call(MasterObserver observer) throws IOException {<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        observer.postCompletedDeleteTableAction(this, tableName);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    });<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  }<a name="line.394"></a>
+<span class="sourceLineNo">395</span><a name="line.395"></a>
+<span class="sourceLineNo">396</span>  public void preTruncateTable(final TableName tableName) throws IOException {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      @Override<a name="line.398"></a>
+<span class="sourceLineNo">399</span>      public void call(MasterObserver observer) throws IOException {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        observer.preTruncateTable(this, tableName);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      }<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    });<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>  public void postTruncateTable(final TableName tableName) throws IOException {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      @Override<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      public void call(MasterObserver observer) throws IOException {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>        observer.postTruncateTable(this, tableName);<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      }<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    });<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>  public void preTruncateTableAction(final TableName tableName, final User user)<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      throws IOException {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.416"></a>
+<span class="sourceLineNo">417</span>      @Override<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      public void call(MasterObserver observer) throws IOException {<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        observer.preTruncateTableAction(this, tableName);<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      }<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    });<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  }<a name="line.422"></a>
+<span class="sourceLineNo">423</span><a name="line.423"></a>
+<span class="sourceLineNo">424</span>  public void postCompletedTruncateTableAction(final TableName tableName, final User user)<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      throws IOException {<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      @Override<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      public void call(MasterObserver observer) throws IOException {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>        observer.postCompletedTruncateTableAction(this, tableName);<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      }<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    });<a name="line.431"></a>
+<span class="sourceLineNo">432</span>  }<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>  public void preModifyTable(final TableName tableName, final TableDescriptor currentDescriptor,<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    final TableDescriptor newDescriptor) throws IOException {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      @Override<a name="line.437"></a>
+<span class="sourceLineNo">438</span>      public void call(MasterObserver observer) throws IOException {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>        observer.preModifyTable(this, tableName, currentDescriptor, newDescriptor);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>    });<a name="line.441"></a>
+<span class="sourceLineNo">442</span>  }<a name="line.442"></a>
+<span class="sourceLineNo">443</span><a name="line.443"></a>
+<span class="sourceLineNo">444</span>  public void postModifyTable(final TableName tableName, final TableDescriptor oldDescriptor,<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    final TableDescriptor currentDescriptor) throws IOException {<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() {<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      @Override<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      public void call(MasterObserver observer) throws IOException {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>        observer.postModifyTable(this, tableName, oldDescriptor, currentDescriptor);<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><a name="line.453"></a>
+<span class="sourceLineNo">454</span>  public void preModifyTableAction(final TableName tableName,<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    final TableDescriptor currentDescriptor, final TableDescriptor newDescriptor, final User user)<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    throws IOException {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation(user) {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      @Override<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      public void call(MasterObserver observer) throws IOException {<a name="line.459"></a>
+<span class="sourceLineNo">460</span>        observer.preModifyTableAction(this, tableName, currentDescriptor, newDescriptor);<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    });<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
+<span clas

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html b/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
index 501bf01..2bfa577 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
@@ -539,7 +539,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">MasterObserver</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.u
 til.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.ht
 ml#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Mas
 terObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableN
 ame-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a>, <a href="../../../../../../org/apache/
 hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.St
 ring-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop
 .hbase.coprocessor.ObserverContext-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coproces
 sor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href
 ="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoo
 p.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Mast
 erObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-
 java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">
 postSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName
 -org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../.
 ./../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-long-">preAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.
 hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hb
 ase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDecommissionRegionServers-org.apache.hadoop.hba
 se.coprocessor.ObserverContext-java.util.List-boolean-">preDecommissionRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coproc
 essor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAc
 tion</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../../org/apac
 he/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDecommissionedRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.
 lang.String-">preListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-java.lang.String-">preLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeReg
 ionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.
 coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.
 util.List-">preRecommissionRegionServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">preRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.Observer
 Context-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">preRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserv
 er.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apa
 che/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContex
 t-">preSplitRegionAfterMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforeMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:A-java.util.List-">preSplitRegionBeforeMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.Observ
 erContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">postAssign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.u
 til.List-">postBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-boolean-">postBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-boolean-">postBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-">postClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postCloneSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.ht
 ml#postCompletedCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCompletedCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Mas
 terObserver.html#postCompletedMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.Obse
 rverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postCompletedTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">postCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDecommissionRegionServers-org.apache.hadoop
 .hbase.coprocessor.ObserverContext-java.util.List-boolean-">postDecommissionRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/
 coprocessor/MasterObserver.html#postDisableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postDisableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ClusterMetrics-">postGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetLocks</a>, <a href="../../../../../..
 /org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">postGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContex
 t-java.util.List-java.lang.String-">postGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postListDecommissionedRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">postListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">postListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObse
 rver.html#postLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-org.apache.hadoop.hbase.client.RegionInfo-">postMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.a
 pache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">postMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/coproce
 ssor/MasterObserver.html#postMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">postMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">postMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">postRecommissionRegionServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apa
 che.hadoop.hbase.client.RegionInfo-">postRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">postRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">postRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">postRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/co
 processor/MasterObserver.html#postRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">postRollBackMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postRollBackSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">postRollBackSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Mas
 terObserver.html#postSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetTableQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">postSetUserQuota</a>, <a href="../../..
 /../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">postSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">postTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUnassign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">postUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postUpdateReplicationPeerConf
 ig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">postUpdateReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAbortProcedure-org.apache.hadoop.hbase.coprocessor.ObserverContext-long-">preAbortProcedure</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preAddReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAddRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preAddRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preAssign-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-">preAssig
 n</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalance-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preBalance</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preBalanceRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preBalanceSwitch-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-">preBalanceSwitch</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preClearDeadServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preClearDeadServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCloneSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preCloneSnaps
 hot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preCreateNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preCreateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo:A-">preCreateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDecommissionRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-boolean-">preDecommissionRegionServers</a>, <a 
 href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preDeleteNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preDeleteSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDeleteTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDeleteTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableReplicationPeer-org.apache.hadoop.hbase.coprocessor.Obser
 verContext-java.lang.String-">preDisableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preDisableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preDisableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preEnableReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preEnableTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preEnableTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#
 preGetClusterMetrics-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetClusterMetrics</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetLocks-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetLocks</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetNamespaceDescriptor-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetNamespaceDescriptor</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetProcedures-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preGetProcedures</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preGetReplicationPeerConfig</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableDescriptors-org.apache.hadoop.hbas
 e.coprocessor.ObserverContext-java.util.List-java.util.List-java.lang.String-">preGetTableDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preGetTableNames-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-java.lang.String-">preGetTableNames</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListDecommissionedRegionServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preListDecommissionedRegionServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListNamespaceDescriptors-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.List-">preListNamespaceDescriptors</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preListReplicationPeers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preListReplicationPeers</a>, <a href="../../../../../../org/apache/hadoop/hbase
 /coprocessor/MasterObserver.html#preListSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-">preListSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preLockHeartbeat-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-java.lang.String-">preLockHeartbeat</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMasterInitialization-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preMasterInitialization</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegions-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-">preMergeRegions</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client
 .RegionInfo:A-">preMergeRegionsAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMergeRegionsCommitAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo:A-java.util.List-">preMergeRegionsCommitAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hba
 se.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove</a>, <a href="../../../../../../org/apache/hadoop/hbase/copr
 ocessor/MasterObserver.html#preMoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveServersAndTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.util.Set-java.lang.String-">preMoveServersAndTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMoveTables-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-java.lang.String-">preMoveTables</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRecommissionRegionServer-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.ServerName-java.util.List-">preRecommissionRegionServer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRegionOffline-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.ha
 doop.hbase.client.RegionInfo-">preRegionOffline</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveReplicationPeer-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveReplicationPeer</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveRSGroup-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-">preRemoveRSGroup</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRemoveServers-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.util.Set-">preRemoveServers</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preRequestLock-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.RegionInfo:A-java.lang.String-">preRequestLock</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Maste
 rObserver.html#preRestoreSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preRestoreSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetNamespaceQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetNamespaceQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetSplitOrMergeEnabled-org.apache.hadoop.hbase.coprocessor.ObserverContext-boolean-org.apache.hadoop.hbase.client.MasterSwitchType-">preSetSplitOrMergeEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetTableQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetTableQuota</a>, <a href="../../../../../
 ../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-java.lang.String-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSetUserQuota-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.quotas.GlobalQuotaSettings-">preSetUserQuota</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preShutdown-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preShutdown</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.
 html#preSnapshot-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.SnapshotDescription-org.apache.hadoop.hbase.client.TableDescriptor-">preSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegion</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-byte:A-">preSplitRegionAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionAfterMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preSplitRegionAfterMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preSplitRegionBeforeMETAAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-byte:
 A-java.util.List-">preSplitRegionBeforeMETAAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preStopMaster-org.apache.hadoop.hbase.coprocessor.ObserverContext-">preStopMaster</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTableFlush-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTableFlush</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preTruncateTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-">preTruncateTableAction</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUnassign-org.apache.hadoop.hbase.coprocessor.Obser
 verContext-org.apache.hadoop.hbase.client.RegionInfo-boolean-">preUnassign</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preUpdateReplicationPeerConfig-org.apache.hadoop.hbase.coprocessor.ObserverContext-java.lang.String-org.apache.hadoop.hbase.replication.ReplicationPeerConfig-">preUpdateReplicationPeerConfig</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.coprocessor.RegionObserver">
@@ -817,7 +817,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment to interact with the framework and master</dd>
 <dd><code>tableName</code> - the name of the table</dd>
-<dd><code>htd</code> - the TableDescriptor</dd>
+<dd><code>htd</code> - after modify operation, table will have this descriptor</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/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 0ebeeb0..2b64b99 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -198,9 +198,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/org/apache/hadoop/hbase/util/JSONBean.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/JSONBean.html b/devapidocs/org/apache/hadoop/hbase/util/JSONBean.html
index c399fee..88b5281 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/JSONBean.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/JSONBean.html
@@ -387,7 +387,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>dumpAllBeans</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/JSONBean.html#line.344">dumpAllBeans</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/JSONBean.html#line.348">dumpAllBeans</a>()
                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/javax/management/MalformedObjectNameException.html?is-external=true" title="class or interface in javax.management">MalformedObjectNameException</a></pre>
 <div class="block">Dump out all registered mbeans as json on System.out.</div>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/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 444a01c..f05b00d 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 = "2c32272dfa40dbf574343901c2ddea9319ca0bd5";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "cf529f18a9959589fa635f78df4840472526ea2c";<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 = "Wed May 16 18:41:01 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Thu May 17 14:39:20 UTC 2018";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = "git://jenkins-websites1.apache.org/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum = "958067e5bc05ca4bd3e914f0c794fac6";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "5e1af00298043edb8a0644db5a2c28dc";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/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 52e5608..9412c02 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/HMaster.html
@@ -1215,7 +1215,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 </tr>
 <tr id="i137" 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,
+<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;newNsDescriptor,
                long&nbsp;nonceGroup,
                long&nbsp;nonce)</code>
 <div class="block">Modify an existing Namespace.</div>
@@ -1224,7 +1224,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <tr id="i138" 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,
+           <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor,
            long&nbsp;nonceGroup,
            long&nbsp;nonce)</code>
 <div class="block">Modify the descriptor of an existing table</div>
@@ -3258,7 +3258,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <li class="blockList">
 <h4>modifyTable</h4>
 <pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2365">modifyTable</a>(<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,
+                        <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;newDescriptor,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -3269,7 +3269,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#modifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-long-long-">modifyTable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>tableName</code> - The table name</dd>
-<dd><code>descriptor</code> - The updated table descriptor</dd>
+<dd><code>newDescriptor</code> - The updated table descriptor</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
@@ -3281,7 +3281,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreSnapshot</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2397">restoreSnapshot</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;snapshotDesc,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2400">restoreSnapshot</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;snapshotDesc,
                             long&nbsp;nonceGroup,
                             long&nbsp;nonce,
                             boolean&nbsp;restoreAcl)
@@ -3298,7 +3298,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTableExists</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2421">checkTableExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2424">checkTableExists</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                               <a href="../../../../../org/apache/hadoop/hbase/TableNotFoundException.html" title="class in org.apache.hadoop.hbase">TableNotFoundException</a></pre>
 <dl>
@@ -3314,7 +3314,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTableModifiable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2429">checkTableModifiable</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/master/HMaster.html#line.2432">checkTableModifiable</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                  <a href="../../../../../org/apache/hadoop/hbase/TableNotFoundException.html" title="class in org.apache.hadoop.hbase">TableNotFoundException</a>,
                                  <a href="../../../../../org/apache/hadoop/hbase/TableNotDisabledException.html" title="class in org.apache.hadoop.hbase">TableNotDisabledException</a></pre>
@@ -3338,7 +3338,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetricsWithoutCoprocessor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2441">getClusterMetricsWithoutCoprocessor</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2444">getClusterMetricsWithoutCoprocessor</a>()
                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3352,7 +3352,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetricsWithoutCoprocessor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2445">getClusterMetricsWithoutCoprocessor</a>(<a href="https://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)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2448">getClusterMetricsWithoutCoprocessor</a>(<a href="https://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)
                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3366,7 +3366,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2507">getClusterMetrics</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2510">getClusterMetrics</a>()
                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -3382,7 +3382,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2511">getClusterMetrics</a>(<a href="https://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)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ClusterMetrics.html" title="interface in org.apache.hadoop.hbase">ClusterMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2514">getClusterMetrics</a>(<a href="https://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)
                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3396,7 +3396,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getBackupMasters</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2522">getBackupMasters</a>()
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2525">getBackupMasters</a>()
                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3410,7 +3410,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoadedCoprocessors</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2575">getLoadedCoprocessors</a>()</pre>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2578">getLoadedCoprocessors</a>()</pre>
 <div class="block">The set of loaded coprocessors is stored in a static set. Since it's
  statically allocated, it does not require that HMaster's cpHost be
  initialized prior to accessing it.</div>
@@ -3426,7 +3426,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterStartTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2582">getMasterStartTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2585">getMasterStartTime</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>timestamp in millis when HMaster was started.</dd>
@@ -3439,7 +3439,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterActiveTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2589">getMasterActiveTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2592">getMasterActiveTime</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>timestamp in millis when HMaster became the active master.</dd>
@@ -3452,7 +3452,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterFinishedInitializationTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2596">getMasterFinishedInitializationTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2599">getMasterFinishedInitializationTime</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>timestamp in millis when HMaster finished becoming the active master</dd>
@@ -3465,7 +3465,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumWALFiles</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2600">getNumWALFiles</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2603">getNumWALFiles</a>()</pre>
 </li>
 </ul>
 <a name="getWalProcedureStore--">
@@ -3474,7 +3474,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getWalProcedureStore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2604">getWalProcedureStore</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">WALProcedureStore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2607">getWalProcedureStore</a>()</pre>
 </li>
 </ul>
 <a name="getRegionServerInfoPort-org.apache.hadoop.hbase.ServerName-">
@@ -3483,7 +3483,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerInfoPort</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2608">getRegionServerInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2611">getRegionServerInfoPort</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
 </li>
 </ul>
 <a name="getRegionServerVersion-org.apache.hadoop.hbase.ServerName-">
@@ -3492,7 +3492,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerVersion</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2618">getRegionServerVersion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2621">getRegionServerVersion</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getRegionServerVersion-org.apache.hadoop.hbase.ServerName-">getRegionServerVersion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3505,7 +3505,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkIfShouldMoveSystemRegionAsync</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2627">checkIfShouldMoveSystemRegionAsync</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2630">checkIfShouldMoveSystemRegionAsync</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#checkIfShouldMoveSystemRegionAsync--">MasterServices</a></code></span></div>
 <div class="block">Called when a new RegionServer is added to the cluster.
  Checks if new server has a newer version than any existing server and will move system tables
@@ -3522,7 +3522,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterCoprocessors</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2634">getMasterCoprocessors</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2637">getMasterCoprocessors</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>array of coprocessor SimpleNames.</dd>
@@ -3535,7 +3535,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2640">abort</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2643">abort</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;cause)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#abort-java.lang.String-java.lang.Throwable-">HRegionServer</a></code></span></div>
 <div class="block">Cause the server to exit without closing the regions it is serving, the log
@@ -3558,7 +3558,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <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/master/HMaster.html#line.2664">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/master/HMaster.html#line.2667">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>
@@ -3575,7 +3575,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterCoprocessorHost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2669">getMasterCoprocessorHost</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2672">getMasterCoprocessorHost</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterCoprocessorHost--">getMasterCoprocessorHost</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3590,7 +3590,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterQuotaManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2674">getMasterQuotaManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/MasterQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2677">getMasterQuotaManager</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterQuotaManager--">getMasterQuotaManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3605,7 +3605,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterProcedureExecutor</h4>
-<pre>public&nbsp;<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;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2679">getMasterProcedureExecutor</a>()</pre>
+<pre>public&nbsp;<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;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2682">getMasterProcedureExecutor</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterProcedureExecutor--">getMasterProcedureExecutor</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3620,7 +3620,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <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/master/HMaster.html#line.2684">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/master/HMaster.html#line.2687">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>
@@ -3637,7 +3637,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getAssignmentManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2689">getAssignmentManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2692">getAssignmentManager</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getAssignmentManager--">getAssignmentManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3652,7 +3652,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getCatalogJanitor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master">CatalogJanitor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2694">getCatalogJanitor</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/CatalogJanitor.html" title="class in org.apache.hadoop.hbase.master">CatalogJanitor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2697">getCatalogJanitor</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getCatalogJanitor--">getCatalogJanitor</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3667,7 +3667,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerFatalLogBuffer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.html" title="class in org.apache.hadoop.hbase.monitoring">MemoryBoundedLogMessageBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2698">getRegionServerFatalLogBuffer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.html" title="class in org.apache.hadoop.hbase.monitoring">MemoryBoundedLogMessageBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2701">getRegionServerFatalLogBuffer</a>()</pre>
 </li>
 </ul>
 <a name="shutdown--">
@@ -3676,7 +3676,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2706">shutdown</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2709">shutdown</a>()
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Shutdown the cluster.
  Master runs a coordinated stop of all RegionServers and then itself.</div>
@@ -3692,7 +3692,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>stopMaster</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2738">stopMaster</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2741">stopMaster</a>()
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3706,7 +3706,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2746">stop</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2749">stop</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
 <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>
@@ -3726,7 +3726,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkServiceStarted</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2755">checkServiceStarted</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2758">checkServiceStarted</a>()
                   throws <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerNotRunningYetException.html" title="class in org.apache.hadoop.hbase.ipc">ServerNotRunningYetException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -3740,7 +3740,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>checkInitialized</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2767">checkInitialized</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2770">checkInitialized</a>()
                throws <a href="../../../../../org/apache/hadoop/hbase/PleaseHoldException.html" title="class in org.apache.hadoop.hbase">PleaseHoldException</a>,
                       <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerNotRunningYetException.html" title="class in org.apache.hadoop.hbase.ipc">ServerNotRunningYetException</a>,
                       <a href="../../../../../org/apache/hadoop/hbase/MasterNotRunningException.html" title="class in org.apache.hadoop.hbase">MasterNotRunningException</a>,
@@ -3760,7 +3760,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isActiveMaster</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2787">isActiveMaster</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2790">isActiveMaster</a>()</pre>
 <div class="block">Report whether this master is currently the active master or not.
  If not active master, we are parked on ZK waiting to become active.
 
@@ -3779,7 +3779,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isInitialized</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2801">isInitialized</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2804">isInitialized</a>()</pre>
 <div class="block">Report whether this master has completed with its initialization and is
  ready.  If ready, the master is also the active master.  A standby master
  is never ready.
@@ -3799,7 +3799,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isInMaintenanceMode</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2811">isInMaintenanceMode</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2814">isInMaintenanceMode</a>()</pre>
 <div class="block">Report whether this master is in maintenance mode.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -3815,7 +3815,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>setInitialized</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2816">setInitialized</a>(boolean&nbsp;isInitialized)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2819">setInitialized</a>(boolean&nbsp;isInitialized)</pre>
 </li>
 </ul>
 <a name="getInitializedEvent--">
@@ -3824,7 +3824,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitializedEvent</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2821">getInitializedEvent</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2824">getInitializedEvent</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getInitializedEvent--">getInitializedEvent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3839,7 +3839,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isServerCrashProcessingEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2831">isServerCrashProcessingEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2834">isServerCrashProcessingEnabled</a>()</pre>
 <div class="block">ServerCrashProcessingEnabled is set false before completing assignMeta to prevent processing
  of crashed servers.</div>
 <dl>
@@ -3856,7 +3856,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>setServerCrashProcessingEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2836">setServerCrashProcessingEnabled</a>(boolean&nbsp;b)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2839">setServerCrashProcessingEnabled</a>(boolean&nbsp;b)</pre>
 </li>
 </ul>
 <a name="getServerCrashProcessingEnabledEvent--">
@@ -3865,7 +3865,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerCrashProcessingEnabledEvent</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2840">getServerCrashProcessingEnabledEvent</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2843">getServerCrashProcessingEnabledEvent</a>()</pre>
 </li>
 </ul>
 <a name="getAverageLoad--">
@@ -3874,7 +3874,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getAverageLoad</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2850">getAverageLoad</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2853">getAverageLoad</a>()</pre>
 <div class="block">Compute the average load across all region servers.
  Currently, this uses a very naive computation - just uses the number of
  regions being served, ignoring stats about number of requests.</div>
@@ -3890,7 +3890,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitPlanCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2865">getSplitPlanCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2868">getSplitPlanCount</a>()</pre>
 </li>
 </ul>
 <a name="getMergePlanCount--">
@@ -3899,7 +3899,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMergePlanCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2872">getMergePlanCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2875">getMergePlanCount</a>()</pre>
 </li>
 </ul>
 <a name="registerService-com.google.protobuf.Service-">
@@ -3908,7 +3908,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>registerService</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2877">registerService</a>(com.google.protobuf.Service&nbsp;instance)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2880">registerService</a>(com.google.protobuf.Service&nbsp;instance)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#registerService-com.google.protobuf.Service-">RegionServerServices</a></code></span></div>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a coprocessor endpoint to be
  available for handling</div>
@@ -3932,7 +3932,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>constructMaster</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2902">constructMaster</a>(<a href="https://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/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&gt;&nbsp;masterClass,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2905">constructMaster</a>(<a href="https://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/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&gt;&nbsp;masterClass,
                                       org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Utility for constructing an instance of the passed HMaster class.</div>
 <dl>
@@ -3949,7 +3949,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2921">main</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2924">main</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/hadoop/hbase/master/HMasterCommandLine.html" title="class in org.apache.hadoop.hbase.master"><code>HMasterCommandLine</code></a></dd>
@@ -3962,7 +3962,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getHFileCleaner</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2927">getHFileCleaner</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2930">getHFileCleaner</a>()</pre>
 </li>
 </ul>
 <a name="getLogCleaner--">
@@ -3971,7 +3971,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogCleaner</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2931">getLogCleaner</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/cleaner/LogCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">LogCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2934">getLogCleaner</a>()</pre>
 </li>
 </ul>
 <a name="getSnapshotManager--">
@@ -3980,7 +3980,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getSnapshotManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2939">getSnapshotManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2942">getSnapshotManager</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getSnapshotManager--">getSnapshotManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -3995,7 +3995,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMasterProcedureManagerHost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2947">getMasterProcedureManagerHost</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManagerHost.html" title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManagerHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2950">getMasterProcedureManagerHost</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getMasterProcedureManagerHost--">getMasterProcedureManagerHost</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -4010,7 +4010,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterSchema</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchema.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchema</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2952">getClusterSchema</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/ClusterSchema.html" title="interface in org.apache.hadoop.hbase.master">ClusterSchema</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2955">getClusterSchema</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getClusterSchema--">getClusterSchema</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -4025,7 +4025,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>createNamespace</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2964">createNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;namespaceDescriptor,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.2967">createNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;namespaceDescriptor,
                      long&nbsp;nonceGroup,
                      long&nbsp;nonce)
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -4049,7 +4049,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>modifyNamespace</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3000">modifyNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;namespaceDescriptor,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3003">modifyNamespace</a>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;newNsDescriptor,
                      long&nbsp;nonceGroup,
                      long&nbsp;nonce)
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -4072,7 +4072,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteNamespace</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3036">deleteNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3041">deleteNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                      long&nbsp;nonceGroup,
                      long&nbsp;nonce)
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -4095,7 +4095,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getNamespace</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3071">getNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre><a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3076">getNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get a Namespace</div>
 <dl>
@@ -4114,7 +4114,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getNamespaces</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3083">getNamespaces</a>()
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3088">getNamespaces</a>()
                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get all Namespaces</div>
 <dl>
@@ -4131,7 +4131,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableNamesByNamespace</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3097">listTableNamesByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/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;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3102">listTableNamesByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#listTableNamesByNamespace-java.lang.String-">MasterServices</a></code></span></div>
 <div class="block">Get list of table names by namespace</div>
@@ -4153,7 +4153,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableDescriptorsByNamespace</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3103">listTableDescriptorsByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/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;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3108">listTableDescriptorsByNamespace</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                                                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#listTableDescriptorsByNamespace-java.lang.String-">MasterServices</a></code></span></div>
 <div class="block">Get list of table descriptors by namespace</div>
@@ -4175,7 +4175,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>abortProcedure</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3109">abortProcedure</a>(long&nbsp;procId,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3114">abortProcedure</a>(long&nbsp;procId,
                               boolean&nbsp;mayInterruptIfRunning)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#abortProcedure-long-boolean-">MasterServices</a></code></span></div>
@@ -4199,7 +4199,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcedures</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3125">getProcedures</a>()
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3130">getProcedures</a>()
                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getProcedures--">MasterServices</a></code></span></div>
 <div class="block">Get procedures</div>
@@ -4219,7 +4219,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLocks</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResource.html" title="class in org.apache.hadoop.hbase.procedure2">LockedResource</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3140">getLocks</a>()
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResource.html" title="class in org.apache.hadoop.hbase.procedure2">LockedResource</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3145">getLocks</a>()
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getLocks--">MasterServices</a></code></span></div>
 <div class="block">Get locks</div>
@@ -4239,7 +4239,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableDescriptors</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3164">listTableDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3169">listTableDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex,
                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableNameList,
                                                   boolean&nbsp;includeSysTables)
@@ -4264,7 +4264,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>listTableNames</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3185">listTableNames</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3190">listTableNames</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex,
                                       boolean&nbsp;includeSysTables)
                                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -4287,7 +4287,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptors</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3205">getTableDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;htds,
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3210">getTableDescriptors</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;htds,
                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regex,
                                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;tableNameList,
@@ -4308,7 +4308,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>filterTablesByRegex</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3246">filterTablesByRegex</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;descriptors,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3251">filterTablesByRegex</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&gt;&nbsp;descriptors,
                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a>&nbsp;pattern)</pre>
 <div class="block">Removes the table descriptors that don't match the pattern.</div>
 <dl>
@@ -4324,7 +4324,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTimestamp</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3264">getLastMajorCompactionTimestamp</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3269">getLastMajorCompactionTimestamp</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4345,7 +4345,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastMajorCompactionTimestampForRegion</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3270">getLastMajorCompactionTimestampForRegion</a>(byte[]&nbsp;regionName)
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3275">getLastMajorCompactionTimestampForRegion</a>(byte[]&nbsp;regionName)
                                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -4364,7 +4364,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobCompactionState</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3284">getMobCompactionState</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse.CompactionState&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3289">getMobCompactionState</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Gets the mob file compaction state for a specific table.
  Whether all the mob files are selected is known during the compaction execution, but
  the statistic is done just before compaction starts, it is hard to know the compaction
@@ -4384,7 +4384,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>reportMobCompactionStart</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3292">reportMobCompactionStart</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/master/HMaster.html#line.3297">reportMobCompactionStart</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -4398,7 +4398,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>reportMobCompactionEnd</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3309">reportMobCompactionEnd</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/master/HMaster.html#line.3314">reportMobCompactionEnd</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -4412,7 +4412,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>requestMobCompaction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3334">requestMobCompaction</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/master/HMaster.html#line.3339">requestMobCompaction</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/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,
                                  boolean&nbsp;allFiles)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -4433,7 +4433,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isBalancerOn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3345">isBalancerOn</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3350">isBalancerOn</a>()</pre>
 <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>. If the balancer is not initialized,
  false is returned.</div>
 <dl>
@@ -4448,7 +4448,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isNormalizerOn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3356">isNormalizerOn</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3361">isNormalizerOn</a>()</pre>
 <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>. If it's not initialized,
  false is returned.</div>
 </li>
@@ -4459,7 +4459,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>isSplitOrMergeEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3368">isSplitOrMergeEnabled</a>(<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a>&nbsp;switchType)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3373">isSplitOrMergeEnabled</a>(<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client">MasterSwitchType</a>&nbsp;switchType)</pre>
 <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>. If it is not initialized,
  false is returned. If switchType is illegal, false will return.</div>
 <dl>
@@ -4478,7 +4478,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoadBalancerClassName</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3380">getLoadBalancerClassName</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3385">getLoadBalancerClassName</a>()</pre>
 <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. If none is set, a default is returned.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -4492,7 +4492,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionNormalizerTracker</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">RegionNormalizerTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3388">getRegionNormalizerTracker</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.html" title="class in org.apache.hadoop.hbase.zookeeper">RegionNormalizerTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3393">getRegionNormalizerTracker</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>RegionNormalizerTracker instance</dd>
@@ -4505,7 +4505,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitOrMergeTracker</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeTracker.html" title="class in org.apache.hadoop.hbase.master">SplitOrMergeTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3392">getSplitOrMergeTracker</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitOrMergeTracker.html" title="class in org.apache.hadoop.hbase.master">SplitOrMergeTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3397">getSplitOrMergeTracker</a>()</pre>
 </li>
 </ul>
 <a name="getLoadBalancer--">
@@ -4514,7 +4514,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoadBalancer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master">LoadBalancer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3397">getLoadBalancer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.html" title="interface in org.apache.hadoop.hbase.master">LoadBalancer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3402">getLoadBalancer</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getLoadBalancer--">getLoadBalancer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -4529,7 +4529,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>getFavoredNodesManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesManager.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3402">getFavoredNodesManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/favored/FavoredNodesManager.html" title="class in org.apache.hadoop.hbase.favored">FavoredNodesManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3407">getFavoredNodesManager</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html#getFavoredNodesManager--">getFavoredNodesManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></code></dd>
@@ -4544,7 +4544,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/MasterServices
 <ul class="blockList">
 <li class="blockList">
 <h4>executePeerProcedure</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3406">executePeerProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a>&nbsp;procedure)
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/HMaster.html#line.3411">executePeerProcedure</a>(<a href="../../../../../org/apache/hadoop/hbase/master/replication/ModifyPeerProcedure.html" title="class in org.apache.hadoop.hbase.master.replication">ModifyPeerProcedure</a>&nbsp;procedure)
                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 2b38a02..b8f6378 100644
--- a/book.html
+++ b/book.html
@@ -37873,7 +37873,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-05-16 18:31:46 UTC
+Last updated 2018-05-17 14:29:55 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index c442050..f3a6e17 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="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -306,7 +306,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-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index a82e052..c930e42 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="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <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" />
@@ -284,7 +284,7 @@
 <td>3613</td>
 <td>0</td>
 <td>0</td>
-<td>15865</td></tr></table></div>
+<td>15867</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -4692,7 +4692,7 @@
 <td><a href="#org.apache.hadoop.hbase.master.HMaster.java">org/apache/hadoop/hbase/master/HMaster.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>160</td></tr>
+<td>162</td></tr>
 <tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.HMasterCommandLine.java">org/apache/hadoop/hbase/master/HMasterCommandLine.java</a></td>
 <td>0</td>
@@ -10335,7 +10335,7 @@
 <li>caseIndent: <tt>&quot;2&quot;</tt></li>
 <li>basicOffset: <tt>&quot;2&quot;</tt></li>
 <li>lineWrappingIndentation: <tt>&quot;2&quot;</tt></li></ul></td>
-<td>4627</td>
+<td>4629</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td>javadoc</td>
@@ -16964,223 +16964,223 @@
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>258</td></tr>
+<td>259</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 11, expected level should be one of the following: 10, 12.</td>
-<td>306</td></tr>
+<td>307</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
-<td>322</td></tr>
+<td>323</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>427</td></tr>
+<td>428</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>460</td></tr>
+<td>461</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call rparen' have incorrect indentation level 6, expected level should be 4.</td>
-<td>540</td></tr>
+<td>541</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>misc</td>
 <td>UpperEll</td>
 <td>Should use uppercase 'L'.</td>
-<td>678</td></tr>
+<td>679</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>misc</td>
 <td>UpperEll</td>
 <td>Should use uppercase 'L'.</td>
-<td>678</td></tr>
+<td>679</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>misc</td>
 <td>UpperEll</td>
 <td>Should use uppercase 'L'.</td>
-<td>678</td></tr>
+<td>679</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1122</td></tr>
+<td>1123</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'for' construct must use '{}'s.</td>
-<td>1123</td></tr>
+<td>1124</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1127</td></tr>
+<td>1128</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1136</td></tr>
+<td>1137</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 103).</td>
-<td>1195</td></tr>
+<td>1196</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 106).</td>
-<td>1198</td></tr>
+<td>1199</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1290</td></tr>
+<td>1291</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1292</td></tr>
+<td>1293</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>'(' is followed by whitespace.</td>
-<td>1297</td></tr>
+<td>1298</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1453</td></tr>
+<td>1454</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
-<td>1459</td></tr>
+<td>1460</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>InnerAssignment</td>
 <td>Inner assignments should be avoided.</td>
-<td>1717</td></tr>
+<td>1718</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>InnerAssignment</td>
 <td>Inner assignments should be avoided.</td>
-<td>1764</td></tr>
+<td>1765</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1873</td></tr>
+<td>1874</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>misc</td>
 <td>UpperEll</td>
 <td>Should use uppercase 'L'.</td>
-<td>2028</td></tr>
+<td>2029</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>misc</td>
 <td>ArrayTypeStyle</td>
 <td>Array brackets at illegal position.</td>
-<td>2148</td></tr>
+<td>2149</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>InnerAssignment</td>
 <td>Inner assignments should be avoided.</td>
-<td>2192</td></tr>
+<td>2193</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 110).</td>
-<td>2233</td></tr>
+<td>2234</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2348</td></tr>
+<td>2349</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2349</td></tr>
+<td>2350</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>2381</td></tr>
+<td>2382</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 103).</td>
-<td>2427</td></tr>
+<td>2428</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 106).</td>
-<td>2441</td></tr>
+<td>2442</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 118).</td>
-<td>2445</td></tr>
+<td>2446</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 116).</td>
-<td>2449</td></tr>
+<td>2450</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 279 lines (max allowed is 150).</td>
-<td>2478</td></tr>
+<td>2479</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2618</td></tr>
+<td>2619</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>')' is preceded with whitespace.</td>
-<td>2647</td></tr></table></div>
+<td>2648</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.PerformanceEvaluationCommons.java">org/apache/hadoop/hbase/PerformanceEvaluationCommons.java</h3>
 <table border="0" class="table table-striped">
@@ -35681,121 +35681,121 @@
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>420</td></tr>
+<td>490</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>429</td></tr>
+<td>499</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>438</td></tr>
+<td>508</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>446</td></tr>
+<td>516</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>463</td></tr>
+<td>533</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>464</td></tr>
+<td>534</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 107).</td>
-<td>466</td></tr>
+<td>536</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>526</td></tr>
+<td>596</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>527</td></tr>
+<td>597</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 108).</td>
-<td>1005</td></tr>
+<td>1103</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1138</td></tr>
+<td>1236</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1146</td></tr>
+<td>1244</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1154</td></tr>
+<td>1252</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1162</td></tr>
+<td>1260</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1170</td></tr>
+<td>1268</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1178</td></tr>
+<td>1276</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1186</td></tr>
+<td>1284</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1194</td></tr>
+<td>1292</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1202</td></tr>
+<td>1300</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>1308</td></tr></table></div>
+<td>1406</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.coprocessor.MetricsCoprocessor.java">org/apache/hadoop/hbase/coprocessor/MetricsCoprocessor.java</h3>
 <table border="0" class="table table-striped">
@@ -46112,19 +46112,19 @@
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'for' construct must use '{}'s.</td>
-<td>171</td></tr>
+<td>189</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>InnerAssignment</td>
 <td>Inner assignments should be avoided.</td>
-<td>171</td></tr>
+<td>189</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>EmptyStatement</td>
 <td>Empty statement.</td>
-<td>171</td></tr></table></div>
+<td>189</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.http.log.TestLogLevel.java">org/apache/hadoop/hbase/http/log/TestLogLevel.java</h3>
 <table border="0" class="table table-striped">
@@ -56431,110 +56431,110 @@
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
-<td>Method length is 269 lines (max allowed is 150).</td>
-<td>187</td></tr>
+<td>Method length is 272 lines (max allowed is 150).</td>
+<td>188</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 104).</td>
-<td>194</td></tr>
+<td>195</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 16, expected level should be one of the following: 12, 14.</td>
-<td>305</td></tr>
+<td>309</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
-<td>421</td></tr>
+<td>425</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>LeftCurly</td>
 <td>'{' at column 5 should be on the previous line.</td>
-<td>492</td></tr>
+<td>496</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>LeftCurly</td>
 <td>'{' at column 9 should be on the previous line.</td>
-<td>499</td></tr>
+<td>503</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' should be on the previous line.</td>
-<td>505</td></tr>
+<td>509</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' should be on the previous line.</td>
-<td>533</td></tr>
+<td>537</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>'(' is followed by whitespace.</td>
-<td>636</td></tr>
+<td>640</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>'(' is followed by whitespace.</td>
-<td>637</td></tr>
+<td>641</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>'(' is followed by whitespace.</td>
-<td>639</td></tr>
+<td>643</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>')' is preceded with whitespace.</td>
-<td>639</td></tr>
+<td>643</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>LeftCurly</td>
 <td>'{' at column 5 should be on the previous line.</td>
-<td>640</td></tr>
+<td>644</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 146).</td>
-<td>645</td></tr>
+<td>652</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>648</td></tr>
+<td>655</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 103).</td>
-<td>827</td></tr>
+<td>834</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 124).</td>
-<td>829</td></tr>
+<td>836</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 121).</td>
-<td>844</td></tr></table></div>
+<td>851</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.mapreduce.HRegionPartitioner.java">org/apache/hadoop/hbase/mapreduce/HRegionPartitioner.java</h3>
 <table border="0" class="table table-striped">
@@ -58639,164 +58639,164 @@
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
-<td>Method length is 164 lines (max allowed is 150).</td>
+<td>Method length is 169 lines (max allowed is 150).</td>
 <td>591</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'for' child have incorrect indentation level 10, expected level should be 8.</td>
-<td>746</td></tr>
+<td>751</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>')' is preceded with whitespace.</td>
-<td>748</td></tr>
+<td>753</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 114).</td>
-<td>757</td></tr>
+<td>762</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>794</td></tr>
+<td>799</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' should be on the previous line.</td>
-<td>806</td></tr>
+<td>811</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
-<td>841</td></tr>
+<td>846</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>866</td></tr>
+<td>871</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'getMockColumnFamiliesForBloomType' have incorrect indentation level 2, expected level should be 4.</td>
-<td>915</td></tr>
+<td>920</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
-<td>915</td></tr>
+<td>920</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>937</td></tr>
+<td>942</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' should be on the previous line.</td>
-<td>950</td></tr>
+<td>955</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'for rparen' have incorrect indentation level 10, expected level should be 6.</td>
-<td>962</td></tr>
+<td>967</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'getMockColumnFamiliesForBlockSize' have incorrect indentation level 2, expected level should be 4.</td>
-<td>988</td></tr>
+<td>993</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
-<td>988</td></tr>
+<td>993</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>1014</td></tr>
+<td>1019</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' should be on the previous line.</td>
-<td>1028</td></tr>
+<td>1033</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
-<td>1065</td></tr>
+<td>1070</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'array initialization' child have incorrect indentation level 8, expected level should be 6.</td>
-<td>1087</td></tr>
+<td>1092</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1163</td></tr>
+<td>1168</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 106).</td>
-<td>1168</td></tr>
+<td>1173</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>misc</td>
 <td>ArrayTypeStyle</td>
 <td>Array brackets at illegal position.</td>
-<td>1182</td></tr>
+<td>1187</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>misc</td>
 <td>ArrayTypeStyle</td>
 <td>Array brackets at illegal position.</td>
-<td>1184</td></tr>
+<td>1189</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>misc</td>
 <td>ArrayTypeStyle</td>
 <td>Array brackets at illegal position.</td>
-<td>1383</td></tr>
+<td>1388</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>misc</td>
 <td>ArrayTypeStyle</td>
 <td>Array brackets at illegal position.</td>
-<td>1387</td></tr>
+<td>1392</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 104).</td>
-<td>1436</td></tr>
+<td>1441</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 104).</td>
-<td>1438</td></tr></table></div>
+<td>1443</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.mapreduce.TestHRegionPartitioner.java">org/apache/hadoop/hbase/mapreduce/TestHRegionPartitioner.java</h3>
 <table border="0" class="table table-striped">
@@ -62366,19 +62366,19 @@
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2376</td></tr>
+<td>2375</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2382</td></tr>
+<td>2378</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2383</td></tr>
+<td>2384</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
@@ -62389,140 +62389,152 @@
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
+<td>'method call' child have incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
+<td>2386</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
 <td>2387</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>indentation</td>
+<td>Indentation</td>
+<td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
+<td>2389</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2388</td></tr>
+<td>2391</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2390</td></tr>
+<td>2393</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2392</td></tr>
+<td>2395</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2393</td></tr>
+<td>2396</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>2394</td></tr>
+<td>2397</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2408</td></tr>
+<td>2411</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2412</td></tr>
+<td>2415</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2414</td></tr>
+<td>2417</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>2416</td></tr>
+<td>2419</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>2417</td></tr>
+<td>2420</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>2418</td></tr>
+<td>2421</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
-<td>2455</td></tr>
+<td>2458</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>2899</td></tr>
+<td>2902</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>3073</td></tr>
+<td>3078</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>3075</td></tr>
+<td>3080</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 109).</td>
-<td>3145</td></tr>
+<td>3150</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'for' construct must use '{}'s.</td>
-<td>3196</td></tr>
+<td>3201</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>3203</td></tr>
+<td>3208</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>3237</td></tr>
+<td>3242</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 111).</td>
-<td>3335</td></tr>
+<td>3340</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>3481</td></tr>
+<td>3486</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>3531</td></tr></table></div>
+<td>3536</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.master.HMasterCommandLine.java">org/apache/hadoop/hbase/master/HMasterCommandLine.java</h3>
 <table border="0" class="table table-striped">
@@ -62681,91 +62693,91 @@
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>739</td></tr>
+<td>743</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>757</td></tr>
+<td>761</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>776</td></tr>
+<td>780</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>792</td></tr>
+<td>796</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>793</td></tr>
+<td>797</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>795</td></tr>
+<td>799</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>812</td></tr>
+<td>816</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>826</td></tr>
+<td>830</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>841</td></tr>
+<td>845</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>858</td></tr>
+<td>862</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>877</td></tr>
+<td>881</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>896</td></tr>
+<td>900</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>914</td></tr>
+<td>918</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 106).</td>
-<td>1608</td></tr>
+<td>1612</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 107).</td>
-<td>1617</td></tr></table></div>
+<td>1621</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.master.MasterFileSystem.java">org/apache/hadoop/hbase/master/MasterFileSystem.java</h3>
 <table border="0" class="table table-striped">
@@ -116285,13 +116297,13 @@
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>341</td></tr>
+<td>345</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>342</td></tr></table></div>
+<td>346</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.util.JVM.java">org/apache/hadoop/hbase/util/JVM.java</h3>
 <table border="0" class="table table-striped">
@@ -123465,7 +123477,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index 1004684..efd986e 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -26,7 +26,7 @@ under the License.
     <copyright>&#169;2007 - 2018 The Apache Software Foundation</copyright>
     <item>
       <title>File: 3613,
-             Errors: 15865,
+             Errors: 15867,
              Warnings: 0,
              Infos: 0
       </title>
@@ -40473,7 +40473,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  160
+                  162
                 </td>
               </tr>
                           <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index f3283de..18c6923 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="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -375,7 +375,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-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index e9cb3c1..4f78937 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="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <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" />
@@ -440,7 +440,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index c992f9d..649810f 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="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <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" />
@@ -1105,7 +1105,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 9d94897..92e53b9 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="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <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" />
@@ -313,7 +313,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index 935edaf..92b8ace 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="20180516" />
+    <meta name="Date-Revision-yyyymmdd" content="20180517" />
     <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" />
@@ -969,7 +969,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-16</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-17</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 74b4537..31231b2 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3768,21 +3768,21 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Wed May 16 18:41:01 UTC 2018"</code></td>
+<td class="colLast"><code>"Thu May 17 14:39:20 UTC 2018"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"2c32272dfa40dbf574343901c2ddea9319ca0bd5"</code></td>
+<td class="colLast"><code>"cf529f18a9959589fa635f78df4840472526ea2c"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"958067e5bc05ca4bd3e914f0c794fac6"</code></td>
+<td class="colLast"><code>"5e1af00298043edb8a0644db5a2c28dc"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">
@@ -8302,7 +8302,7 @@
 <!--   -->
 </a><code>static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/http/log/LogLevel.Servlet.html#FORMS">FORMS</a></code></td>
-<td class="colLast"><code>"\n&lt;br /&gt;&lt;hr /&gt;&lt;h3&gt;Get / Set&lt;/h3&gt;\n&lt;form&gt;Log: &lt;input type=\'text\' size=\'50\' name=\'log\' /&gt; &lt;input type=\'submit\' value=\'Get Log Level\' /&gt;&lt;/form&gt;\n&lt;form&gt;Log: &lt;input type=\'text\' size=\'50\' name=\'log\' /&gt; Level: &lt;input type=\'text\' name=\'level\' /&gt; &lt;input type=\'submit\' value=\'Set Log Level\' /&gt;&lt;/form&gt;"</code></td>
+<td class="colLast"><code>"&lt;div class=\'container-fluid content\'&gt;\n&lt;div class=\'row inner_header\'&gt;\n&lt;div class=\'page-header\'&gt;\n&lt;h1&gt;Get/Set Log Level&lt;/h1&gt;\n&lt;/div&gt;\n&lt;/div&gt;\nActions:&lt;p&gt;&lt;center&gt;\n&lt;table class=\'table\' style=\'border: 0;\' width=\'95%\' &gt;\n&lt;tr&gt;\n&lt;form&gt;\n&lt;td class=\'centered\'&gt;\n&lt;input style=\'font-size: 12pt; width: 10em\' type=\'submit\' value=\'Get Log Level\' class=\'btn\' /&gt;\n&lt;/td&gt;\n&lt;td style=\'text-align: center;\'&gt;\n&lt;input type=\'text\' name=\'log\' size=\'50\' required=\'required\' placeholder=\'Log Name (required)\' /&gt;\n&lt;/td&gt;\n&lt;td width=\"40%\"&gt;Get the current log level for the specified log name.&lt;/td&gt;\n&lt;/form&gt;\n&lt;/tr&gt;\n&lt;tr&gt;\n&lt;form&gt;\n&lt;td class=\'centered\'&gt;\n&lt;input style=\'font-size: 12pt; width: 10em\' type=\'submit\' value=\'Set Log Level\' class=\'btn\' /&gt;\n&lt;/td&gt;\n&lt;td style=\'text-align: center
 ;\'&gt;\n&lt;input type=\'text\' name=\'log\' size=\'50\' required=\'required\' placeholder=\'Log Name (required)\' /&gt;\n&lt;input type=\'text\' name=\'level\' size=\'50\' required=\'required\' placeholder=\'Log Level (required)\' /&gt;\n&lt;/td&gt;\n&lt;td width=\"40%\" style=\"\"&gt;Set the specified log level for the specified log name.&lt;/td&gt;\n&lt;/form&gt;\n&lt;/tr&gt;\n&lt;/table&gt;\n&lt;/center&gt;\n&lt;/p&gt;\n&lt;hr/&gt;\n"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.http.log.LogLevel.Servlet.serialVersionUID">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/deprecated-list.html
----------------------------------------------------------------------
diff --git a/devapidocs/deprecated-list.html b/devapidocs/deprecated-list.html
index c62f7e1..c3ec15b 100644
--- a/devapidocs/deprecated-list.html
+++ b/devapidocs/deprecated-list.html
@@ -2477,38 +2477,68 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">org.apache.hadoop.hbase.coprocessor.MasterObserver.postCompletedModifyTableAction(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</a>
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postInstantiateDeleteTracker-org.apache.hadoop.hbase.regionserver.querymatcher.DeleteTracker-">org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postInstantiateDeleteTracker(DeleteTracker)</a>
 <div class="block"><span class="deprecationComment">Since 2.0 with out any replacement and will be removed in 3.0</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postInstantiateDeleteTracker-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.querymatcher.DeleteTracker-">org.apache.hadoop.hbase.coprocessor.RegionObserver.postInstantiateDeleteTracker(ObserverContext&lt;RegionCoprocessorEnvironment&gt;, DeleteTracker)</a>
 <div class="block"><span class="deprecationComment">Since 2.0 with out any replacement and will be removed in 3.0</span></div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">org.apache.hadoop.hbase.coprocessor.MasterObserver.postModifyNamespace(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, NamespaceDescriptor)</a>
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</td>
+</tr>
 <tr class="altColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">org.apache.hadoop.hbase.coprocessor.MasterObserver.postModifyTable(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</a>
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionServerObserver.html#postReplicateLogEntries-org.apache.hadoop.hbase.coprocessor.ObserverContext-">org.apache.hadoop.hbase.coprocessor.RegionServerObserver.postReplicateLogEntries(ObserverContext&lt;RegionServerCoprocessorEnvironment&gt;)</a>
 <div class="block"><span class="deprecationComment">As of release 2.0.0 with out any replacement. This is maintained for internal
  usage by AccessController. Do not use these hooks in custom co-processors.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postStoreFileReaderOpen-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.io.FSDataInputStreamWrapper-long-org.apache.hadoop.hbase.io.hfile.CacheConfig-org.apache.hadoop.hbase.io.Reference-org.apache.hadoop.hbase.regionserver.StoreFileReader-">org.apache.hadoop.hbase.coprocessor.RegionObserver.postStoreFileReaderOpen(ObserverContext&lt;RegionCoprocessorEnvironment&gt;, FileSystem, Path, FSDataInputStreamWrapper, long, CacheConfig, Reference, StoreFileReader)</a>
 <div class="block"><span class="deprecationComment">For Phoenix only, StoreFileReader is not a stable interface.</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#postWALRestore-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postWALRestore(RegionInfo, WALKey, WALEdit)</a>
 <div class="block"><span class="deprecationComment">Since hbase-2.0.0. No replacement. To be removed in hbase-3.0.0 and replaced
  with something that doesn't expose IntefaceAudience.Private classes.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/WALObserver.html#postWALWrite-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.wal.WALKey-org.apache.hadoop.hbase.wal.WALEdit-">org.apache.hadoop.hbase.coprocessor.WALObserver.postWALWrite(ObserverContext&lt;? extends WALCoprocessorEnvironment&gt;, RegionInfo, WALKey, WALEdit)</a>
 <div class="block"><span class="deprecationComment">Since hbase-2.0.0. To be replaced with an alternative that does not expose
  InterfaceAudience classes such as WALKey and WALEdit. Will be removed in hbase-3.0.0.</span></div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">org.apache.hadoop.hbase.coprocessor.MasterObserver.preModifyNamespace(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, NamespaceDescriptor)</a>
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">org.apache.hadoop.hbase.coprocessor.MasterObserver.preModifyTable(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</a>
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">org.apache.hadoop.hbase.coprocessor.MasterObserver.preModifyTableAction(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</a>
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</td>
+</tr>
 <tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html#prePrepareTimeStampForDeleteVersion-org.apache.hadoop.hbase.client.Mutation-org.apache.hadoop.hbase.Cell-byte:A-org.apache.hadoop.hbase.client.Get-">org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.prePrepareTimeStampForDeleteVersion(Mutation, Cell, byte[], Get)</a>
 <div class="block"><span class="deprecationComment">In hbase-2.0.0. Will be removed in hbase-3.0.0. Added explicitly for a single

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/7bcc960d/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 3f8de6d..ef12cfb 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -81029,9 +81029,15 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</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>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postCompletedModifyTableAction(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor, TableDescriptor)</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>
+<dd>
 <div class="block">Called after to modifying a table's properties.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">postCompletedModifyTableAction(TableName, TableDescriptor, User)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postCompletedModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">postCompletedModifyTableAction(TableName, TableDescriptor, TableDescriptor, User)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postCompletedSplitRegionAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">postCompletedSplitRegionAction(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, RegionInfo, RegionInfo)</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>
 <dd>
@@ -81356,15 +81362,27 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, NamespaceDescriptor)</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>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, NamespaceDescriptor, NamespaceDescriptor)</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>
+<dd>
 <div class="block">Called after the modifyNamespace operation has been requested.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace(NamespaceDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">postModifyNamespace(NamespaceDescriptor, NamespaceDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</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>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor, TableDescriptor)</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>
+<dd>
 <div class="block">Called after the modifyTable operation has been requested.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable(TableName, TableDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#postModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable(TableName, TableDescriptor, TableDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#postModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">postModifyTable(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
 <dd>&nbsp;</dd>
@@ -82645,9 +82663,15 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, NamespaceDescriptor)</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>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, NamespaceDescriptor, NamespaceDescriptor)</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>
+<dd>
 <div class="block">Called prior to modifying a namespace's properties.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace(NamespaceDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace(NamespaceDescriptor, NamespaceDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.html#preModifyNamespace-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.NamespaceDescriptor-">preModifyNamespace(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, NamespaceDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.rsgroup.<a href="org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupAdminEndpoint</a></dt>
 <dd>&nbsp;</dd>
@@ -82655,9 +82679,15 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</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>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor, TableDescriptor)</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>
+<dd>
 <div class="block">Called prior to modifying a table's properties.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable(TableName, TableDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTable-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable(TableName, TableDescriptor, TableDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#preModifyTable-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTable(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
 <dd>&nbsp;</dd>
@@ -82667,9 +82697,15 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor)</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>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Since 2.1. Will be removed in 3.0.</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preModifyTableAction-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-">preModifyTableAction(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, TableName, TableDescriptor, TableDescriptor)</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>
+<dd>
 <div class="block">Called prior to modifying a table's properties.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">preModifyTableAction(TableName, TableDescriptor, User)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html#preModifyTableAction-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.security.User-">preModifyTableAction(TableName, TableDescriptor, TableDescriptor, User)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterCoprocessorHost.html" title="class in org.apache.hadoop.hbase.master">MasterCoprocessorHost</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MasterObserver.html#preMove-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-">preMove(ObserverContext&lt;MasterCoprocessorEnvironment&gt;, RegionInfo, ServerName, ServerName)</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>
 <dd>

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